![]()
内容推荐 本书基于Spark发行版2.4.4写作而成,包含大量的实例与一个完整项目,层次分明,循序渐进。全书分为3部分,涵盖了技术理论与实战,读者可以从实战中巩固学习到的知识。第一部分主要围绕BDAS(伯克利数据分析栈),不仅介绍了如何开发Spark应用的基础内容,还介绍了Structured Streaming、Spark机器学习、Spark图挖掘、Spark深度学习等高级主题,此外还介绍了Alluxio系统。第二部分实现了一个企业背景调查系统,比较新颖的是,该系统借鉴了数据湖与Lambda架构的思想,涵盖了批处理、流处理应用开发,并加入了一些开源组件来满足需求,既是对本书第一部分很好的巩固,又完整呈现了一个实时大数据应用的开发过程。第三部分是对全书的总结和展望。 本书适合准备学习Spark的开发人员和数据分析师,以及准备将Spark应用到实际项目中的开发人员和管理人员阅读,也适合计算机相关专业的高年级本科生和研究生学习和参考,对于具有一定的Spark使用经验并想进一步提升的数据科学从业者也是很好的参考资料。 作者简介 范东来,北京航空航天大学硕士,就职于清华大学苏州汽车研究院大数据处理中心,数据挖掘工程师,对Apache Hadoop、Apache Spark的开发、运维和数据处理有较丰富的经验,研究方向为分布式计算、机器学习。 目录 第一部分 基础篇 第1章 序篇 1.1 Spark与BDAS 1.2 Databricks 1.3 如何通过GitHub向Spark贡献代码 1.4 如何选择Spark编程语言 1.5 函数式编程思想 1.6 小结 第2章 Spark编程 2.1 Spark架构 2.2 Spark 2.x与Spark 3.x 2.2.1 Tungsten项目 2.2.2 统一Dataset和DataFrame接口 2.2.3 新一代流处理技术:Structured Streaming与持续型应用 2.2.4 Hydrogen项目和Spark 3.x 2.3 部署Spark 2.3.1 Spark on YARN 2.3.2 Spark on Mesos 2.3.3 Spark Standalone 2.3.4 Spark on Kubernetes 2.3.5 安装Spark 2.3.6 提交作业 2.3.7 Spark Shell 2.3.8 初始化SparkSession 2.4 RDD与算子 2.4.1 RDD 2.4.2 创建RDD 2.4.3 转换算子 2.4.4 行动算子 2.4.5 RDD血统与Spark容错 2.5 Spark Shuffle 2.5.1 Hash Shuffle 2.5.2 Sort-based Shuffle 2.6 共享变量 2.6.1 广播变量 2.6.2 累加器 2.7 Spark的多语言支持 2.7.1 PySpark 2.7.2 SparkR 2.8 Spark性能调优 2.8.1 硬件配置与资源管理平台 2.8.2 参数调优与应用调优 2.9 使用Jupyter Notebook基于Spark探索数据:蒙特卡罗方法预测股票价格 2.9.1 Jupyter Notebook 2.9.2 用蒙特卡罗方法预测股票价格 2.10 小结 第3章 Spark统一编程接口:DataFrame、Dataset和Spark SQL 3.1 Catalyst优化器 3.1.1 SQL抽象语法树 3.1.2 从ULEP到RLEP的过程 3.1.3 调优RLEP 3.1.4 全阶段代码生成 3.2 DataFrame API 3.2.1 创建DataFrame 3.2.2 查询 3.2.3 窗口函数 3.2.4 用户自定义函数 3.2.5 写入 3.3 Dataset API 3.3.1 RDD、DataFrame和Dataset 3.3.2 安全类型的UDAF 3.4 Spark SQL 3.4.1 创建临时视图 3.4.2 使用Hive元数据 3.4.3 查询语句 3.4.4 函数 3.4.5 用户自定义函数 3.5 Google Dremel与列式存储 3.5.1 Apache Parquet 3.5.2 Apache ORC 3.5.3 Apache CarbonData 3.5.4 对比测试 3.6 使用Spark SQL进行数据探索 3.7 小结 第二部分 应用篇 第三部分 总结篇 |