| 图书基本信息 | |||
| 图书名称 | 图解Spark:核心技术与案例实战 | 作者 | 郭景瞻著 |
| 定价 | 99.00元 | 出版社 | 电子工业出版社 |
| ISBN | 9787121302367 | 出版日期 | 2017-01-01 |
| 字数 | 页码 | ||
| 版次 | 1 | 装帧 | 平装-胶订 |
| 开本 | 16开 | 商品重量 | 0.4Kg |
| 内容简介 | |
| 本书以Spark 2.0 版本为基础进行编写,全面介绍了Spark 核心及其生态圈组件技术。主要内容包括Spark 生态圈、实战环境搭建、编程模型和内部重要模块的分析,重点介绍了消息通信框架、作业调度、容错执行、监控管理、存储管理以及运行框架,同时还介绍了Spark 生态圈相关组件,包括了Spark SQL 的即席查询、Spark Streaming 的实时流处理应用、MLbase/MLlib 的机器学习、GraphX 的图处理、SparkR 的数学计算和Alluxio 的分布式内存文件系统等。本书从Spark 核心技术进行深入分析,重要章节会结合源代码解读其实现原理,围绕着技术原理介绍了相关典型实例,读者通过这些实例可以更加深入地理解Spark 的运行机制。另外本书还应用了大量的图表进行说明,通过这种方式让读者能够更加直观地理解Spark 相关原理。 |
| 作者简介 | |
| 郭景瞻,现就职京东商城,开源技术爱好者,对Spark等大数据系统有较为深入的研究,对Spark应用开发、运维和测试有较多的经验,喜欢深入阅读Spark源代码,分析其核心原理和运行机制。个人博客地址为.blogs./shishanyuan,在该博客中提供了本书的附录和勘误。 |
| 目录 | |
| 第1章 Spark及其生态圈概述 1.1 Spark简介 1.1.1 什么是Spark 1.1.2 Spark与MapReduce比较 1.1.3 Spark的演进路线图 1.2 Spark生态系统 1.2.1 Spark Core 1.2.2 Spark Streaming 1.2.3 Spark SQL 1.2.4 BlinkDB 1.2.5 MLBase/MLlib 1.2.6 GraphX 1.2.7 SparkR 1.2.8 Alluxio 1.3 小结 第2章 搭建Spark实战环境 2.1 基础环境搭建 2.1.1 搭建集群样板机 2.1.2 配置集群环境 2.2 编译Spark源代码 2.2.1 配置Spark编译环境 2.2.2 使用Maven编译Spark 2.2.3 使用SBT编译Spark 2.2.4 生成Spark部署包 2.3 搭建Spark运行集群 2.3.1 修改配置文件 2.3.2 启动Spark 2.3.3 验证启动 2.3.4 个实例 2.4 搭建Spark实战开发环境 2.4.1 CentOS中部署IDEA 2.4.2 使用IDEA开发程序 2.4.3 使用IDEA阅读源代码 2.5 小结 第二篇 核心篇 第3章 Spark编程模型 3.1 RDD概述 3.1.1 背景 3.1.2 RDD简介 3.1.3 RDD的类型 3.2 RDD的实现 3.2.1 作业调度 3.2.2 解析器集成 3.2.3 内存管理 3.2.4 检查点支持 3.2.5 多用户管理 3.3 编程接口 3.3.1 RDD分区(Partitions) 3.3.2 RDD位置(PreferredLocations) 3.3.3 RDD依赖关系(Dependencies) 3.3.4 RDD分区计算(Iterator) 3.3.5 RDD分区函数(Partitioner) 3.4 创建操作 3.4.1 并行化集合创建操作 3.4.2 外部存储创建操作 3.5 转换操作 3.5.1 基础转换操作 3.5.2 键值转换操作 3.6 控制操作 3.7 行动操作 3.7.1 集合标量行动操作 3.7.2 存储行动操作 3.8 小结 第4章 Spark核心原理 4.1 消息通信原理 4.1.1 Spark消息通信架构 4.1.2 Spark启动消息通信 4.1.3 Spark运行时消息通信 4.2 作业执行原理 4.2.1 概述 4.2.2 提交作业 4.2.3 划分调度阶段 4.2.4 提交调度阶段 4.2.5 提交任务 4.2.6 执行任务 4.2.7 获取执行结果 4.3 调度算法 4.3.1 应用程序之间 4.3.2 作业及调度阶段之间 4.3.3 任务之间 4.4 容错及HA 4.4.1 Executor异常 4.4.2 Worker异常 4.4.3 Master异常 4.5 监控管理 4.5.1 UI监控 4.5.2 Metrics 4.5.3 REST 4.6 实例演示 4.6.1 计算年降水实例 4.6.2 HA配置实例 4.7 小结 第5章 Spark存储原理 5.1 存储分析 5.1.1 整体架构 5.1.2 存储级别 5.1.3 RDD存储调用 5.1.4 读数据过程 5.1.5 写数据过程 5.2 Shuffle分析 5.2.1 Shuffle简介 5.2.2 Shuffle的写操作 5.2.3 Shuffle的读操作 5.3 序列化和压缩 5.3.1 序列化 5.3.2 压缩 5.4 共享变量 5.4.1 广播变量 5.4.2 累加器 5.5 实例演示 5.6 小结 第6章 Spark运行架构 6.1 运行架构总体介绍 6.1.1 总体介绍 6.1.2 重要类介绍 6.2 本地(Local)运行模式 6.2.1 运行模式介绍 6.2.2 实现原理 6.3 伪分布(Local-Cluster)运行模式 6.3.1 运行模式介绍 6.3.2 实现原理 6.4 独立(Standalone)运行模式 6.4.1 运行模式介绍 6.4.2 实现原理 6.5 YARN运行模式 6.5.1 YARN运行框架 6.5.2 YARN-Client运行模式介绍 6.5.3 YARN-Client 运行模式实现原理 6.5.4 YARN-Cluster运行模式介绍 6.5.5 YARN-Cluster 运行模式实现原理 6.5.6 YARN-Client与YARN-Cluster对比 6.6 Mesos运行模式 6.6.1 Mesos介绍 6.6.2 粗粒度运行模式介绍 6.6.3 粗粒度实现原理 6.6.4 细粒度运行模式介绍 6.6.5 细粒度实现原理 6.6.6 Mesos粗粒度和Mesos细粒度对比 6.7 实例演示 6.7.1 独立运行模式实例 6.7.2 YARN-Client实例 6.7.3 YARN-Cluster实例 6.8 小结 第三篇 组件篇 第7章 Spark SQL 7.1 Spark SQL简介 7.1.1 Spark SQL发展历史 7.1.2 DataFrame/Dataset介绍 7.2 Spark SQL运行原理 7.2.1 通用SQL执行原理 7.2.2 SparkSQL运行架构 7.2.3 SQLContext运行原理分析 7.2.4 HiveContext介绍 7.3 使用Hive-Console 7.3.1 编译Hive-Console 7.3.2 查看执行计划 7.3.3 应用Hive-Console 7.4 使用SQLConsole 7.4.1 启动HDFS和Spark Shell 7.4.2 与RDD交互操作 7.4.3 读取JSON格式数据 7.4.4 读取Parquet格式数据 7.4.5 缓存演示 7.4.6 DSL演示 7.5 使用Spark SQL CLI 7.5.1 配置并启动Spark SQL CLI 7.5.2 实战Spark SQL CLI 7.6 使用Thrift Server 7.6.1 配置并启动Thrift Server 7.6.2 基本操作 7.6.3 交易数据实例 7.6.4 使用IDEA开发实例 7.7 实例演示 7.7.1 销售数据分类实例 7.7.2 网店销售数据统计 7.8 小结 第8章 Spark Streaming 8.1 Spark Streaming简介 8.1.1 术语定义 8.1.2 Spark Streaming特点 8.2 Spark Streaming编程模型 8.2.1 DStream的输入源 8.2.2 DStream的操作 8.3 Spark Streaming运行架构 8.3.1 运行架构 8.3.2 消息通信 8.3.3 Receiver分发 8.3.4 容错性 8.4 Spark Streaming运行原理 8.4.1 启动流处理引擎 8.4.2 接收及存储流数据 8.4.3 数据处理 8.5 实例演示 8.5.1 流数据模拟器 8.5.2 销售数据统计实例 8.5.3 Spark Streaming Kafka实例 8.6 小结 第9章 Spark MLlib 9.1 Spark MLlib简介 9.1.1 Spark MLlib介绍 9.1.2 Spark MLlib数据类型 9.1.3 Spark MLlib基本统计方法 9.1.4 预言模型标记语言 9.2 线性模型 9.2.1 数学公式 9.2.2 线性回归 9.2.3 线性支持向量机 9.2.4 逻辑回归 9.2.5 线性小二乘法、Lasso和岭回归 9.2.6 流式线性回归 9.3 决策树 9.4 决策模型组合 9.4.1 随机森林 9.4.2 梯度提升决策树 9.5 朴素贝叶斯 9.6 协同过滤 9.7 聚类 9.7.1 K-means 9.7.2 高斯混合 9.7.3 快速迭代聚类 9.7.4 LDA 9.7.5 二分K-means 9.7.6 流式K-means 9.8 降维 9.8.1 奇异值分解降维 9.8.2 主成分分析降维 9.9 特征提取和变换 9.9.1 词频—逆文档频率 9.9.2 词向量化工具 9.9.3 标准化 9.9.4 范数化 9.10 频繁模式挖掘 9.10.1 频繁模式增长 9.10.2 关联规则挖掘 9.10.3 PrefixSpan 9.11 实例演示 9.11.1 K-means聚类算法实例 9.11.2 手机短信分类实例 9.12 小结 第10章 Spark GraphX 10.1 GraphX介绍 10.1.1 图计算 10.1.2 GraphX介绍 10.1.3 发展历程 10.2 GraphX实现分析 10.2.1 GraphX图数据模型 10.2.2 GraphX图数据存储 10.2.3 GraphX图切分策略 10.2.4 GraphX图操作 10.3 实例演示 10.3.1 图例演示 10.3.2 社区发现演示 10.4 小结 第11章 SparkR 11.1 概述 11.1.1 R语言介绍 11.1.2 SparkR介绍 11.2 SparkR与DataFrame 11.2.1 DataFrames介绍 11.2.2 与DataFrame的相关操作 11.3 编译安装SparkR 11.3.1 编译安装R语言 11.3.2 安装SparkR运行环境 11.3.3 安装SparkR 11.3.4 启动并验证安装 11.4 实例演示 11.5 小结 第12章 Alluxio 12.1 Alluxio简介 12.1.1 Alluxio介绍 12.1.2 Alluxio系统架构 12.1.3 HDFS与Alluxio 12.2 Alluxio编译部署 12.2.1 编译Alluxio 12.2.2 单机部署Alluxio 12.2.3 集群模式部署Alluxio 12.3 Alluxio命令行使用 12.3.1 接口说明 12.3.2 接口操作示例 12.4 实例演示 12.4.1 启动环境 12.4.2 Alluxio上运行Spark 12.4.3 Alluxio上运行MapReduce 12.5 小结 本书附录部分请到博文视点网站下载.broadview../30236。 |
| 编辑推荐 | |
| 以Spark 2.0版本为基础进行编写,版本新。 不仅介绍了Spark 基本使用方法,还深入浅出地讲解了Spark 的编程模型、作业运行机制、存储原理和运行架构等内容。通过对这些内容的学习,你可以编写出更加高效的应用程序,更快地定位并排除故障,而且还能对Spark 运行进行调优,让Spark 运行得更加稳定和快速。 随着大数据技术的发展,实时流计算、机器学习、图计算等领域成为较热的研究方向,而Spark 有着较为成熟的生态圈,能够一站式解决类似场景的问题。通过对本书的学习,你将加深对Spark 原理和应用场景的理解,能够更好地利用Spark 各个组件进行数据计算和算法实现。 |
| 文摘 | |
| 序言 | |
读完这本书,我最大的感受就是作者的功底深厚,而且讲解非常到位。对于Spark的核心组件,如RDD、DataFrame、Spark SQL、Spark Streaming等,作者都做了非常细致的阐述,并且用了很多生动的比喻和形象的图例,让那些一开始觉得晦涩难懂的概念变得豁然开朗。尤其是一些底层的原理,比如Spark的内存管理、调度机制,作者并没有流于表面,而是深入到源码层面,结合实际代码片段进行讲解,这对于想要深入理解Spark的开发者来说,简直是宝藏。而且,本书不仅仅是理论的堆砌,还穿插了大量的实战案例,这些案例覆盖了从数据清洗、ETL到机器学习、图计算等多个场景,非常贴合实际工作中的需求。我尝试着跟着书中的案例动手实践,发现效果非常好,不仅巩固了理论知识,还学到了不少实用的技巧和优化思路。
评分这本书的知识体系非常完整,从Spark的入门介绍到高级特性的深入解析,再到实际应用场景的案例分享,可谓是应有尽有。作者的讲解逻辑非常清晰,循序渐进,即使是初学者,也能在短时间内建立起对Spark的整体认知。我特别欣赏的是书中对Spark生态系统的介绍,不仅涵盖了Spark Core,还触及了Spark SQL、Spark Streaming、MLlib、GraphX等关键组件,并详细讲解了它们之间的联系与区别。这对于想要构建完整Spark应用场景的开发者来说,非常有价值。书中的案例分析部分更是亮点,选取了许多具有代表性的工业界应用案例,作者不仅给出了解决方案,还深入分析了背后的技术原理和设计思路,让我们能够举一反三,触类旁通。
评分我之前尝试过一些关于Spark的书籍,但都感觉要么过于理论化,要么过于碎片化,很难形成一个完整的知识体系。这本书给我的感觉就是“润物细无声”,在不知不觉中就将Spark的核心概念和精髓灌输给了读者。作者在讲解时,总是能找到一个非常好的切入点,用通俗易懂的语言解释复杂的概念,并配以恰到好处的图示,让整个学习过程变得轻松愉快。而且,书中对Spark的演进和未来发展方向也有所涉及,这让我对Spark技术有了更长远的认识。我印象深刻的是关于Spark的持久化机制的讲解,作者通过对比不同的持久化策略,以及它们在内存和磁盘上的具体实现,让我对如何选择最优的持久化方式有了更深刻的理解。总而言之,这是一本值得反复阅读和学习的优秀技术书籍。
评分作为一名在实际工作中饱受大数据处理性能瓶颈困扰的开发者,我对于能够真正解决问题、提升效率的技术书籍有着极高的期待。《图解Spark:核心技术与案例实战》这本书,可以说完全超出了我的预期。作者并没有将重点放在罗列API或者简单介绍功能上,而是花了大篇幅去剖析Spark的执行引擎、内存模型、容错机制等核心原理。通过图文并茂的方式,将Spark内部复杂的运作流程变得易于理解。我尤其喜欢的是书中对于Spark的调优部分的讲解,提供了非常多切实可行的方法和策略,例如如何根据不同的业务场景选择合适的Shuffle机制,如何优化内存使用,如何进行任务级别的调度。我尝试了书中提到的几种调优方法,发现程序运行效率有了显著的提升,这对我日常的工作效率带来了巨大的改善。
评分这本书的封面设计就非常吸引人,硬壳精装,印刷质量也很棒,拿在手里很有分量感。虽然我还没有来得及细读,但翻阅了一下目录和一些章节,感觉内容非常充实,排版也清晰明了。我尤其对那些用图解方式解释概念的部分很期待,我一向觉得抽象的技术概念,如果能配合生动的图示,理解起来会事半功倍。听说这本书的作者在Spark领域非常有经验,并且注重实践,这点让我非常安心。我目前的工作经常会涉及到大数据处理,而Spark又是绕不开的技术,所以迫切希望通过这本书来系统地梳理和巩固我的Spark知识体系。看到书中有不少实际案例,我非常希望能从中学习到别人是如何解决实际问题的,这对于提升我的实操能力非常有帮助。感觉这本书将会是我近期最常翻阅的技术书籍之一,希望能借此机会在Spark的海洋里畅游一番,找到属于自己的宝藏。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有