新書推薦:
《
冯友兰和青年谈心系列:不是问题的问题(哲学大师冯友兰和年轻人谈心,命运解读)
》
售價:NT$
254.0
《
月与蟹(青鲤文库)荣获第144届直木奖,天才推理作家经典作品全新译本。一部青春狂想曲,带你登上心理悬疑之巅。
》
售價:NT$
230.0
《
索恩丛书·盛清统治下的太监与皇帝
》
售價:NT$
403.0
《
透过器物看历史(全6册)
》
售價:NT$
2234.0
《
我在台北故宫博物院读名画
》
售價:NT$
500.0
《
尼罗河往事:古埃及文明4000年
》
售價:NT$
347.0
《
一个人·谁也不是·十万人(诺贝尔文学奖得主反思自我的巅峰之作)
》
售價:NT$
250.0
《
重写晚明史(全5册 精装)
》
售價:NT$
3560.0
|
編輯推薦: |
【内容特点】
(1)内容全面,结构合理:每章配有本章小结、习题和实验。
(2)案例丰富,代码详尽:结合案例讲解编程方法和技术,每段代码重要节点都有详细注释。
【资源特点】重点难点知识微课,配套PPT、程序源代码、习题答案等。
【服务特点】作者提供QQ服务群等支持,定期举办直播进行教学培训。
|
內容簡介: |
本书以Scala作为开发Spark应用程序的编程语言,系统地介绍了Spark编程的基础知识。全书共9章,内容包括大数据技术概述、Scala语言基础、Spark的设计与运行原理、Spark环境搭建和使用方法、RDD编程、Spark SQL、Spark Streaming、Structured Streaming和Spark MLlib。
本书每章都安排了入门级的编程实践操作,以便使读者能更好地学习和更牢固地掌握Spark编程方法。本书配套官网免费提供了全套的在线教学资源,包括讲义PPT、习题、源代码、软件、数据集、授课视频、上机实验指南等。
本书可以作为高等院校计算机、软件工程、数据科学与大数据技术等专业的进阶级大数据课程教材,用于指导Spark编程实践,也可供相关技术人员参考。
|
關於作者: |
林子雨(1978-),男,博士(毕业于北京大学),国内高校知名大数据教师,厦门大学计算机科学系副教授,厦门大学信息学院实验教学中心主任,厦门大学数据库实验室负责人,中国计算机学会数据库专委会委员,中国计算机学会信息系统专委会委员,中国高校首个“数字教师”提出者和建设者。厦门大学2013年度、2017年度和2020年度奖教金获得者,获评“厦门大学2019年度本科教学示范岗”,入选“2021年高校计算机专业优秀教师奖励计划”。2013年开始在厦门大学开设大数据课程,建设了国内高校首个大数据课程公共服务平台,平台累计网络访问量超过1500万次,成为全国高校大数据教学知名品牌,并荣获“2018年福建省教学成果二等奖”和“2018年厦门大学教学成果特等奖”,主持的课程《大数据技术原理与应用》获评“2018年国家精品在线开放课程”、“2020年国家级线上一流本科课程”和“2021年福建省线上线下混合一流本科课程”,主持的课程《Spark编程基础》获评“2020年福建省线上一流本科课程”。
|
目錄:
|
目 录
第 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.3.1 不同编程语言简介
1.3.2 Spark开发语言对比
1.4 在线资源
1.5 本章小结
1.6 习题
实验1 Linux系统的安装和常用命令
第 2章 Scala语言基础
2.1 Scala语言概述
2.1.1 计算机的缘起
2.1.2 编程范式
2.1.3 Scala简介
2.1.4 Scala的安装
2.1.5 HelloWorld
2.2 Scala基础知识
2.2.1 基本数据类型和变量
2.2.2 输入 输出
2.2.3 控制结构
2.2.4 数据结构
2.3 面向对象编程基础
2.3.1 类
2.3.2 对象
2.3.3 继承
2.3.4 参数化类型
2.3.5 特质
2.3.6 模式匹配
2.3.7 包
2.4 函数式编程基础
2.4.1 函数的定义与使用
2.4.2 高阶函数
2.4.3 闭包
2.4.4 偏应用函数和Curry化
2.4.5 针对容器的操作
2.4.6 函数式编程实例
2.5 本章小结
2.6 习题
实验2 Scala编程初级实践
第3章 Spark的设计与运行原理
3.1 概述
3.2 Spark生态系统
3.3 Spark运行架构
3.3.1 基本概念
3.3.2 架构设计
3.3.3 Spark运行基本流程
3.3.4 RDD的设计与运行原理
3.4 Spark的部署方式
3.5 TensorFlowOnSpark
3.6 本章小结
3.7 习题
第4章 Spark环境搭建和使用方法
4.1 安装Spark
4.1.1 基础环境
4.1.2 下载安装文件
4.1.3 配置相关文件
4.1.4 Spark和Hadoop的交互
4.2 在spark-shell中运行代码
4.2.1 spark-shell命令
4.2.2 启动spark-shell
4.2.3 Spark UI
4.3 开发Spark独立应用程序
4.3.1 安装编译打包工具
4.3.2 编写Spark应用程序代码
4.3.3 编译打包
4.3.4 通过spark-submit运行程序
4.4 Spark集群环境搭建
4.4.1 集群概况
4.4.2 搭建Hadoop集群
4.4.3 在集群中安装Spark
4.4.4 配置环境变量
4.4.5 Spark的配置
4.4.6 启动Spark集群
4.4.7 关闭Spark集群
4.5 在集群上运行Spark应用程序
4.5.1 启动Spark集群
4.5.2 在集群中运行应用程序JAR包
4.5.3在集群中运行spark-shell
4.6 本章小结
4.7 习题
实验3 Spark和Hadoop的安装
第5章 RDD编程
5.1 RDD编程基础
5.1.1 RDD创建
5.1.2 RDD操作
5.1.3 持久化
5.1.4 分区
5.1.5 一个综合实例
5.2 键值对RDD
5.2.1 键值对RDD的创建
5.2.2 常用的键值对转换操作
5.2.3 一个综合实例
5.3 数据读写
5.3.1 本地文件系统的数据读写
5.3.2 分布式文件系统HDFS的数据读写
5.3.3 读写MySQL数据库
5.4 综合实例
5.4.1 求TOP值
5.4.2 文件排序
5.4.3 二次排序
5.5 本章小结
实验4 RDD编程初级实践
第6章 Spark SQL
6.1 Spark SQL简介
6.1.1 从Shark说起
6.1.2 Spark SQL架构
6.1.3 为什么推出Spark SQL
6.1.4 Spark SQL的特点
6.1.5 Spark SQL简单编程实例
6.2 结构化数据DataFrame
6.2.1 DataFrame概述
6.2.2 DataFrame的优点
6.3 DataFrame的创建和保存
6.3.1 Parquet
6.3.2 JSON
6.3.3 CSV
6.3.4 文本文件
6.3.5 序列集合
6.4 DataFrame的基本操作
6.4.1 DSL语法风格
6.4.2 SQL语法风格
6.5 从RDD转换得到DataFrame
6.5.1 利用反射机制推断RDD模式
6.5.2 使用编程方式定义RDD模式
6.6 使用Spark SQL读写数据库
6.6.1准备工作
6.6.2读取MySQL数据库中的数据
6.6.3向MySQL数据库写入数据
6.6.4编写独立应用程序访问MySQL
6.7 DataSet
6.7.1 DataFrame、DataSet和RDD的区别
6.7.2创建DataSet
6.7.3 RDD、DataFrame和DataSet之间的相互转换
6.7.4 词频统计实例
6.8 本章小结
6.9 习题
实验5 Spark SQL编程初级实践
第7章 Spark Streaming
7.1 流计算概述
7.1.1 静态数据和流数据
7.1.2 批量计算和实时计算
7.1.3 流计算概念
7.1.4 流计算框架
7.1.5 流计算处理流程
7.2 Spark Streaming
7.2.1 Spark Streaming设计
7.2.2 Spark Streaming与Storm的对比
7.2.3 从“Hadoop Storm”架构转向Spark架构
7.3 DStream操作概述
7.3.1 Spark Streaming工作机制
7.3.2 编写Spark Streaming程序的基本步骤
7.3.3 创建StreamingContext对象
7.4 基本输入源
7.4.1 文件流
7.4.2 套接字流
7.4.3 RDD队列流
7.5 高级数据源
7.5.1 Kafka简介
7.5.2 Kafka准备工作
7.5.3 Spark准备工作
7.5.4 编写Spark Streaming程序使用Kafka数据源
7.6 转换操作
7.6.1 DStream无状态转换操作
7.6.2 DStream有状态转换操作
7.7 输出操作
7.7.1 把DStream输出到文本文件中
7.7.2 把DStream写入到关系数据库中
7.8 本章小结
7.9 习题
实验6 Spark Streaming编程初级实践
第8章 Structured Streaming
8.1概述
8.1.1 Spark Streaming的不足之处
8.1.2 Structured Streaming的设计理念
8.1.3 Structured Streaming的处理模型
8.1.4 Structured Streaming和Spark SQL、Spark Streaming关系
8.1.5 Structured Streaming与其他流处理技术的对比
8.2编写Structured Streaming程序的基本步骤
8.2.1实现步骤
8.2.2测试运行
8.3输入源
8.3.1File源
8.3.2Kafka源
8.3.3Socket源
8.3.4Rate源
8.4输出操作
8.4.1启动流计算
8.4.2输出模式
8.4.3输出接收器
8.5容错处理
8.5.1从检查点恢复故障
8.5.2故障恢复中的限制
8.6迟到数据处理
8.6.1事件时间
8.6.2迟到数据
8.6.3水印
8.6.4多水印规则
8.6.5处理迟到数据的例子
8.7查询的管理和监控
8.7.1管理和监控的方法
8.7.2一个监控的实例
8.8本章小结
8.9习题
实验7 Structured Streaming初级编程实践
第9章 Spark MLlib
9.1 基于大数据的机器学习
9.2 机器学习库MLlib概述
9.3 基本数据类型
9.3.1 本地向量
9.3.2 标注点
9.3.3 本地矩阵
9.3.4 数据源
9.4 基本统计工具
9.4.1 相关性
9.4.2 假设检验
9.4.3 汇总统计
9.5 机器学习流水线
9.5.1 流水线的概念
9.5.2 流水线工作过程
9.6 特征提取、转换和选择
9.6.1 特征提取
9.6.2 特征转换
9.6.3 特征选择
9.6.4 局部敏感哈希
9.7 分类算法
9.7.1 逻辑斯蒂回归分类器
9.7.2 决策树分类器
9.8 聚类算法
9.8.1 K-Means聚类算法
9.8.2 GMM聚类算法
9.9 频繁模式挖掘算法
9.9.1 FP-Growth算法
9.9.2 PrefixSpan算法
9.10 协同过滤算法
9.10.1 推荐算法的原理
9.10.2 ALS算法
9.11 模型选择和超参数调整
9.11.1 模型选择工具
9.11.2 用交叉验证选择模型
9.12 本章小结
9.13 习题
实验7 Spark机器学习库MLlib编程实践
|
|