![]()
内容推荐 林子雨、赖永炫、陶继平编著的《Spark编程基础(数据科学与大数据技术专业系列规划教材)》以Scala作为开发Spark应用程序的编程语言,系统介绍了spark编程的基础知识。全书共7章,内容包括大数据技术概述、Spark的设计与运行原理、spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming和Spark MLlib。 本书每章都安排了入门级的编程实践操作,以便使读者能更好地学习和更牢固地掌握Spark编程方法。本书配套官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。 本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数据课程教材,用于指导Spark编程实践,也可供相关技术人员参考。 作者简介 林子雨(1978-),男,博士,厦门大学计算机科学系助理教授,厦门大学云计算与大数据研究中心创始成员,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员。于2001年获得福州大学水利水电专业学士学位,2005年获得厦门大学计算机专业硕士学位,2009年获得北京大学计算机专业博士学位。中国高校首个“数字教师”提出者和建设者(http://www.cs.xmu.edu.cn/linziyu),2009年至今,“数字教师”大平台累计向网络免费发布超过100万字高价值的教学和科研资料,累计网络访问量超过100万次。 主要研究方向为数据库、数据仓库、数据挖掘、大数据和云计算,发表期刊和会议学术论文多篇,并作为课题组负责人承担了国家自然科学基金和福建省自然科学基金项目。曾作为志愿者翻译了Google Spanner、BigTable和《Architecture of a Database System》等大量英文学术资料,与广大网友分享,深受欢迎。2013年在厦门大学开设大数据课程,并因在教学领域的突出贡献和学生的认可,成为2013年度厦门大学教学类奖教金获得者。 目录 第1章 大数据技术概述 1.1 大数据的概念与关键技术 1.1.1 大数据的概念 1.1.2 大数据关键技术 1.2 代表性大数据技术 1.2.1 Hadoop 1.2.2 Spark 1.2.3 Flink 1.2.4 Beam 1.3 编程语言的选择 1.4 在线资源 1.5 本章小结 1.6 习题 实验1 Linux系统的安装和常用命令 一、实验目的 二、实验平台 三、实验内容和要求 四、实验报告 第2章 Spark的设计与运行原理 2.1 概述 2.2 Spark生态系统 2.3 Spark运行架构 2.3.1 基本概念 2.3.2 架构设计 2.3.3 Spark运行基本流程 2.3.4 RDD的设计与运行原理 2.4 Spark的部署方式 2.5 本章小结 2.6 习题 第3章 Spark环境搭建和使用方法 3.1 安装Spark 3.1.1 基础环境 3.1.2 下载安装文件 3.1.3 配置相关文件 3.1.4 Spark和Hadoop的交互 3.2 在spark-shell中运行代码 3.2.1 spark-shell命令 3.2.2 启动spark-shell 3.3 开发Spark独立应用程序 3.3.1 安装编译打包工具 3.3.2 编写Spark应用程序代码 3.3.3 编译打包 3.3.4 通过spark-submit运行程序 3.4 Spark集群环境搭建 3.4.1 集群概况 3.4.2 搭建Hadoop集群 3.4.3 在集群中安装Spark 3.4.4 配置环境变量 3.4.5 Spark的配置 3.4.6 启动Spark集群 3.4.7 关闭Spark集群 3.5 在集群上运行Spark应用程序 3.5.1 启动Spark集群 3.5.2 采用独立集群管理器 3.5.3 采用Hadoop YARN管理器 3.6 本章小结 3.7 习题 实验2 Spark和Hadoop的安装 一、实验目的 二、实验平台 三、实验内容和要求 四、实验报告 第4章 RDD编程 4.1 RDD编程基础 4.1.1 RDD创建 4.1.2 RDD操作 4.1.3 持久化 4.1.4 分区 4.1.5 一个综合实例 4.2 键值对RDD 4.2.1 键值对RDD的创建 4.2.2 常用的键值对转换操作 4.2.3 一个综合实例 4.3 数据读写 4.3.1 文件数据读写 4.3.2 读写HBase数据 4.4 综合实例 4.4.1 求TOP值 4.4.2 文件排序 4.4.3 二次排序 4.5 本章小结 实验3 RDD编程初级实践 一、实验目的 二、实验平台 三、实验内容和要求 四、实验报告 第5章 Spark SQL 5.1 Spark SQL简介 5.1.1 从Shark说起 5.1.2 Spark SQL架构 5.1.3 为什么推出Spark SQL 5.2 DataFrame概述 5.3 DataFrame的创建 5.4 DataFrame的保存 5.5 DataFrame的常用操作 5.6 从RDD转换得到DataFrame 5.6.1 利用反射机制推断RDD模式 5.6.2 使用编程方式定义RDD模式 5.7 使用Spark SQL读写数据库 5.7.1 通过JDBC连接数据库 5.7.2 连接Hive读写数据 5.8 本章小结 5.9 习题 实验4 Spark SQL编程初级实践 一、实验目的 二、实验平台 三、实验内容和要求 四、实验报告 第6章 Spark Streaming 6.1 流计算概述 6.1.1 静态数据和流数据 6.1.2 批量计算和实时计算 6.1.3 流计算概念 6.1.4 流计算框架 6.1.5 流计算处理流程 6.2 Spark Streaming 6.2.1 Spark Streaming设计 6.2.2 Spark Streaming与Storm的对比 6.2.3 从“Hadoop+Storm”架构转向Spark架构 6.3 DStream操作概述 6.3.1 Spark Streaming工作机制 6.3.2 编写Spark Streaming程序的基本步骤 6.3.3 创建StreamingContext对象 6.4 基本输入源 6.4.1 文件流 6.4.2 套接字流 6.4.3 RDD队列流 6.5 高级数据源 6.5.1 Kafka简介 6.5.2 Kafka准备工作 6.5.3 Spark准备工作 6.5.4 编写Spark Streaming程序使用Kafka数据源 6.6 转换操作 6.6.1 DStream无状态转换操作 6.6.2 DStream有状态转换操作 6.7 输出操作 6.7.1 把DStream输出到文本文件中 6.7.2 把DStream写入到关系数据库中 6.8 本章小结 6.9 习题 实验5 Spark Streaming编程初级实践 一、实验目的 二、实验平台 三、实验内容和要求 四、实验报告 第7章 Spark Mllib 7.1 基于大数据的机器学习 7.2 机器学习库MLlib概述 7.3 基本数据类型 7.3.1 本地向量 7.3.2 标注点 7.3.3 本地矩阵 7.4 机器学习流水线 7.4.1 流水线的概念 7.4.2 流水线工作过程 7.5 特征提取、转换和选择 7.5.1 特征提取 7.5.2 特征转换 7.5.3 特征选择 7.5.4 局部敏感哈希 7.6 分类算法 7.6.1 逻辑斯蒂回归分类器 7.6.2 决策树分类器 7. |