失效链接处理 |
Spark大数据分析——源码解析与实例详解 PDF 下载
整理下载:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/27912447.html
相关截图:
资料简介:
本书基于Spark 2.3.x、Spark 2.4.x系列版本 采用“理论 实践”的形式编写。全书共有90个实例,1个完整项目。 第1篇“准备”,包括认识大数据和Spark、安装与配置Spark集群、第1个Spark程序; 第2篇“入门”,包括读写分布式数据、处理分布式数据; 第3篇“进阶”,包括RDD的高级操作、用SQL语法分析结构化数据、实时处理流式数据; 第4篇“高阶”,包括实时处理流式数据、Spark的相关优化; 第5篇“商业项目实战”,用Spark的各种组件实现一个学生学情分析商业项目。 本书结构清晰、实例丰富、通俗易懂、实用性强,特别适合Spark的初学者和进阶读者作为自学用书。另外,本书也适合社会培训学校作为培训教材,还适合大中专院校的相关专业作为教学参考书。
资料目录:
=第1篇 准备 - 第1章 认识大数据和Spark2 1.1 大数据的介绍2 1.2 Apache Spark能做什么3 1.3 其他分布式数据处理框架4 1.4 如何使用本书4 ?O1.4.1 需要提前具备的基础4 ?O1.4.2 准备相关开发环境4 ?O1.4.3 如何学习本书5 - 第2章 安装与配置Spark集群6 2.1 下载Spark安装包6 2.2 检查与准备集群环境7 2.3 了解目前集群中已经部署的框架服务11 2.4 部署Spark集群12 ?O2.4.1 实例1:基于Standalone模式部署Spark集群12 ?O2.4.2 实例2:部署Spark的历史服务——Spark History Server16 ?O2.4.3 实例3:基于Standalone模式部署高可用的Master服务18 ?O2.4.4 实例4:基于YARN模式部署Spark集群20 ?O2.4.5 Standalone模式与YARN模式的特点22 2.5 本章小结23 - 第3章 第1个Spark程序24 3.1 运行第1个Spark程序24 ?O3.1.1 实例5:基于Standalone模式运行第1个Spark程序24 ?O3.1.2 实例6:基于YARN模式运行第1个Spark程序27 ?O3.1.3 提交Spark程序时的参数规范30 3.2 使用spark-shell编写并运行WordCount程序30 ?O3.2.1 实例7:启动spark-shell31 ?O3.2.2 实例8:在spark-shell中编写WordCount程序32 3.3 使用IDEA编写并运行WordCount程序34 ?O3.3.1 实例9:准备开发环境,并构建代码工程34 ?O3.3.2 实例10:使用IDEA编写WordCount程序41 ?O3.3.3 实例11:在IDEA中本地运行WordCount程序44 ?O3.3.4 实例12:在IDEA中远程运行WordCount程序46 ?O3.3.5 实例13:打包程序,并提交至集群运行48 3.4 本章小结49 =n 第2篇 入门 - 第4章 读写分布式数据——基于Spark Core52 4.1 RDD的诞生52 4.2 进一步理解RDD53 ?O4.2.1 数据存储53 ?O4.2.2 数据分析55 ?O4.2.3 程序调度56 4.3 读取数据并生成RDD57 ?O4.3.1 实例14:读取普通文本数据58 ?O4.3.2 实例15:读取JSON格式的数据59 ?O4.3.3 实例16:读取CSV、TSV格式的数据61 ?O4.3.4 实例17:读取SequenceFile格式的数据62 ?O4.3.5 实例18:读取Object格式的数据64 ?O4.3.6 实例19:读取HDFS中的数据——显式调用Hadoop API66 ?O4.3.7 实例20:读取MySQL数据库中的数据68 4.4 保存RDD中的数据到外部存储70 ?O4.4.1 实例21:保存成普通文本文件70 ?O4.4.2 实例22:保存成JSON文件71 ?O4.4.3 实例23:保存成CSV、TSV文件73 ?O4.4.4 实例24:保存成SequenceFile文件74 ?O4.4.5 实例25:保存成Object文件75 ?O4.4.6 实例26:保存成HDFS文件——显式调用Hadoop API的方式76 ?O4.4.7 实例27:写入MySQL数据库78 4.5 本章小结80 - 第5章 处理分布式数据——基于Spark Core81 5.1 RDD的转换(transformations)操作——转换数据形态81 ?O5.1.1 实例28:基础转换操作81 ?O5.1.2 实例29:键值对转换操作103 5.2 RDD的行动(actions)操作——触发执行任务计划115 ?O5.2.1 实例30:基础行动操作116 ?O5.2.2 实例31:键值对行动操作125 ?O5.2.3 实例32:数值行动操作127 5.3 本章小结128 =n 第3篇 进阶 - 第6章 RDD的高级操作130 6.1 缓存RDD130 ?O6.1.1 缓存RDD的基础知识130 ?O6.1.2 实例33:缓存与释放RDD133 6.2 RDD的检查点(Checkpoint)机制139 ?O6.2.1 了解Checkpoint机制139 ?O6.2.2 实例34:使用Checkpoint机制141 ?O6.2.3 Checkpoint机制的工作流程144 6.3 RDD的依赖关系145 ?O6.3.1 窄依赖(narrow dependencies)145 ?O6.3.2 宽依赖(wide/shuffle dependencies)148 ?O6.3.3 实例35:让子RDD混合依赖依赖多个父RDD151 ?O6.3.4 实例36:词频统计——总结运算过程涉及的概念153 6.4 累加器(Accumulator)155 ?O6.4.1 认识累加器155 ?O6.4.2 实例37:使用系统累加器1——长整数、双精度浮点数累加器156 ?O6.4.3 实例38:使用系统累加器2——集合累加器159 ?O6.4.4 实例39:自定义累加器160 6.5 广播(Broadcast)——将数据块缓存到所有节点164 ?O6.5.1 认识广播165 ?O6.5.2 实例40:使用广播补全数据165 6.6 本章小结168 - 第7章 用SQL语法分析结构化数据——基于Spark SQL169 7.1 为什么会产生Spark SQL169 7.2 认识DataFrame与Dataset数据类型170 ?O7.2.1 认识DataFrame170 ?O7.2.2 认识Dataset171 7.3 实例41:通过Dataset、DataFrame分析用户数据172 ?O7.3.1 用spark-shell编写程序172 ?O7.3.2 用IDEA编写程序175 7.4 不同Spark版本的操作差异177 ?O7.4.1 认识SQLContext与HiveContext178 ?O7.4.2 认识SparkSession178 7.5 DataFrame、Dataset的基本操作179 ?O7.5.1 DSL与SQL的语法风格179 ?O7.5.2 使用临时视图的注意事项181 ?O7.5.3 实例42:读取JSON、CSV格式的数据183 ?O7.5.4 实例43:读取Parquet格式的数据185 ?O7.5.5 实例44:读取代码中动态生成的数据185 ?O7.5.6 实例45:读取关系型数据库中的数据188 ?O7.5.7 实例46:输出Dataset、DataFrame中的数据189 ?O7.5.8 实例47:RDD、DataFrame、Dataset之间的相互转换192 7.6 用户自定义函数195 ?O7.6.1 实例48:实现“一进一出”的UDF195 ?O7.6.2 实例49:实现“多进一出”的UDAF198 ?O7.6.3 实例50:实现“一进多出”的UDTF208 7.7 集成Spark SQL与Hive211 ?O7.7.1 已经部署Hive框架211 ?O7.7.2 尚未部署Hive框架215 7.8 本章小结215 - 第8章 实时处理流式数据——基于Spark Streaming216 8.1 为什么会产生Spark Streaming216 8.2 第1个Spark Streaming程序216 ?O8.2.1 实例51:用spark-shell编写程序216 ?O8.2.2 实例52:用IDEA编写程序221 8.3 什么是DStream222 ?O8.3.1 认识DStream222 ?O8.3.2 认识DStreamGraph223 8.4 读取数据到DStream中227 ?O8.4.1 实例53:读取HDFS文件夹中的数据227 ?O8.4.2 实例54:读取RDD组成的数据队列229 ?O8.4.3 实例55:实时读取Flume中的数据230 ?O8.4.4 实例56:用高阶API实时读取Kafka中的数据235 ?O8.4.5 实例57:用低阶API实时读取Kafka中的数据242 8.5 Spark Streaming中的几个时间概念251 ?O8.5.1 批处理间隔251 ?O8.5.2 窗口时间宽度与滑动时间宽度252 ?O8.5.3 实例58:使用窗口操作,每两秒钟统计10秒内的平均温度254 8.6 DStream的操作总结259 ?O8.6.1 DStream的操作说明259 ?O8.6.2 实例59:直接面向DStream中的RDD进行数据分析261 ?O8.6.3 实例60:将DStream中的数据实时输出至外部存储系统263 ?O8.6.4 实例61:对Dstream进行join操作267 8.7 DStream中的转换分类269 ?O8.7.1 无状态转换269 ?O8.7.2 有状态转换270 ?O8.7.3 实例:用有状态转换做全局词频统计270 8.8 在Spark Streaming中的缓存与Checkpoint272 ?O8.8.1 认识Spark Streaming中的Checkpoint273 ?O8.8.2 实例62:使用Spark Streaming中的Checkpoint273 8.9 Spark Streaming中的累加器与广播变量276 ?O8.9.1 认识累加器与广播变量276 ?O8.9.2 实例63:自定义累加器,并结合无状态转换,实现实时的全局词频统计276 8.10 关闭Spark Streaming程序280 ?O8.10.1 关闭程序的方案281 ?O8.10.2 实例64:合理关闭一个运行中的Spark Streaming程序281 8.11 本章小结284 =n 第4篇 高阶 - 第9章 实时处理流式数据——基于Structured Streaming286 9.1 为什么会产生Structured Streaming286 9.2 第1个Structured Streaming程序287 ?O9.2.1 实例65:用spark-shell编写程序287 ?O9.2.2 实例66:用IDEA编写程序289 9.3 Structured Streaming的编程模型291 9.4 输入数据——生成Streaming Dataset、 Streaming DataFrame292 ?O9.4.1 实例67:根据文件生成工作流292 ?O9.4.2 实例68:根据文件、文件夹生成自动分区的工作流295 ?O9.4.3 实例69:根据Kafka以Streaming模式生成工作流297 ?O9.4.4 实例70:以Kafka为数据源,通过Batch方式生成工作流300 ?O9.4.5 实例71:根据指定速率生成工作流304 9.5 基于事件时间的窗口操作305 ?O9.5.1 事件时间窗口的工作方式305 ?O9.5.2 实例72:事件时间窗口的生成规则307 ?O9.5.3 实例73:基于事件时间窗口实现词频统计311 9.6 基于Watermark处理延迟数据314 ?O9.6.1 Watermark的作用314 ?O9.6.2 实例74:基于Update模式实现词频统计,并结合Watermark处理延迟数据314 ?O9.6.3 实例75:基于Append模式实现词频统计,并结合Watermark处理延迟数据320 ?O9.6.4 Watermark的底层工作原理322 ?O9.6.5 总结:Watermark机制与输出模式329 9.7 实例76:在处理流式数据时去除重复数据330 9.8 Structured Streaming中的join操作332 ?O9.8.1 实例77:在Stream-Static模式下的inner join操作333 ?O9.8.2 实例78:在Stream-Stream模式下的inner join操作335 ?O9.8.3 总结:已经支持的join操作340 9.9 在Structured Streaming中实现数据分组, 并手动维护分组状态3 |