标签
内容简介
本书是 Manning 出版社《Spark GraphX in Action》的中文译本,由时金魁、黄光远翻译,电子工业出版社 2017 年出版。全书以 Spark GraphX 1.6 版本为基准,是一本围绕图计算展开的入门加进阶读物,既不要求读者精通 Scala,也不要求事先有 GraphX 经验,只要具备基本的编程能力就能跟上。 全书共 10 章,分为三个部分。第 1 部分(第 1—3 章)是准备知识:先用一章篇幅交代大数据、Hadoop、Spark 与图计算之间的关系,讲清属性图、图分割、图并行与数据并行等概念;随后用 Spark Shell 演示 GraphX 的交互式快速上手,并补足 Scala 函数式编程、RDD 与图术语等基础。第 2 部分(第 4—7 章)进入 GraphX 本体:介绍 Vertex、Edge 等类与 map、Map/Reduce、Pregel 等核心操作,图的序列化与生成,以及 PageRank、三角形计数、最短路径、连通分量、强连通分量、标签传播等内置算法;再用带权最短路径、贪心旅行商、最小生成树等经典算法说明如何在 GraphX 之上自行实现;机器学习一章则通过 SVDPlusPlus 影片推荐、LDA 主题模型、逻辑回归反垃圾、幂迭代聚类图像分割等实例,展示 GraphX 与 MLlib 的配合。第 3 部分(第 8—10 章)讨论 GraphX 缺失的操作(子图、图合并、读取 RDF、全局聚类系数)、性能监控与调优(缓存、checkpoint、序列化、图分割),以及用 Java 调用 GraphX、Zeppelin + d3.js 可视化、Spark JobServer 以及 GraphFrames 等周边工具。书末另有安装 Spark、Gephi 可视化、延伸资源和 Scala 小贴士四个附录,适合边读边动手实践。
编辑推荐
图计算长期是大数据技术栈里被讲得最少的一块,市面上多数 Spark 书只用一个章节草草带过 GraphX,这本书却把 GraphX 单独写满了一本。它的价值首先在于“少而专”:从属性图、图分割、Pregel 这些概念讲起,一路讲到 PageRank、三角形计数、连通分量等内置算法,再到带权最短路径、最小生成树这类需要自己动手实现的图算法,路线非常清晰。 其次是“能跑起来”。作者用 Spark Shell 交互式演示快速上手,用 Slashdot 社交数据、影片推荐等真实案例串起算法与业务场景,还把 GraphX 与 MLlib 的配合、RDF 文件读取、图合并、全局聚类系数这些实际开发中常被卡住的细节单独成章。性能与监控一章面向生产环境,缓存、checkpoint、序列化、图分割讲得都很实在,这在入门书里并不多见。 需要说明的是,书中示例基于 Spark GraphX 1.6 版本,如今回看代码环境已经偏旧,Scala API 与新版 Spark 可能有出入;同时中文版存在若干排版与术语小瑕疵。尽管如此,作为一本专门讲图计算的中文书,它仍然是入门阶段最省力的选择,配合官方文档与 GraphFrames 资料一起看效果更好。
适合谁读
适合
- 已经会用 Spark,想补齐图计算这块短板的工程师
- 要做社交网络、推荐、反欺诈等关系数据分析的开发者
- 使用 Scala 开发、需要深入理解 GraphX API 的数据工程师
- 具备编程基础、准备进入大数据方向的研究生或自学者
不适合
- 完全没有编程经验、也从未接触 Spark 的零基础读者
- 只想找一本 Spark 综合入门书、不关心图计算的读者
- 需要直接使用 PySpark GraphFrames 或新版本 Spark 3.x 的从业者(书中版本偏旧)
阅读建议
- 读到第 4、5 章时务必配好本地或虚拟机环境,跟随书中 Spark Shell 示例逐条敲一遍。
- 熟悉 Spark 与 Scala 的读者可以先跳到第 4 章,第 1—3 章按需查阅,不必顺序通读。
- 书中的 1.6 版本 API 与新版 Spark 有差异,实践时以官方文档为准并做好版本对照记录。
- 读第 7 章机器学习前,先补一点 MLlib 基本概念,理解 GraphX 与 MLlib 协同的思路比照抄代码更重要。
出版社简介
电子工业出版社
中国 · 成立于 1982 年
电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。
目录
- 译者序
- 序言
- 致谢
- 关于本书
- 关于封面插图
- 第1部分 Spark和图
- 第1章 两项重要的技术:Spark和图
- 第2章 GraphX快速入门
- 第3章 基础知识
- 第2部分 连接顶点
- 第4章 GraphX基础
- 第5章 内置图算法
- 第6章 其他有用的图算法
- 第7章 机器学习
- 第3部分 更多内容
- 第8章 缺失的算法
- 第9章 性能和监控
- 第10章 更多语言以及工具
- 附录A 安装Spark
- 附录B Gephi可视化软件
- 附录C 更多资源
- 附录D 本书中的Scala小贴士
常见问题
这本书是原版还是中文译本?原作者是谁?
它是 Manning 出版社 2016 年出版的《Spark GraphX in Action》的中文译本,原作者为 Michael S. Malak 与 Robin East,由时金魁、黄光远翻译,电子工业出版社 2017 年出版,ISBN 为 9787121310430。
零基础、不会 Scala 能读懂吗?
可以。书中第 3 章专门介绍 Scala、RDD 和图的基本术语,作者也声明不要求读者有 Spark 与 Scala 经验,只要求具备基本编程能力;但如果完全没写过代码,会比较吃力。
书中的示例适用于现在的 Spark 版本吗?
书中示例基于 Spark GraphX 1.6 版本,与如今的 Spark 3.x 在 API 和运行环境上有出入,部分代码可能需要调整;建议把本书当作原理与思路参考,同时对照官方文档实践。
这本书和《Spark快速大数据分析》有什么区别?
后者是 Spark 全局性的入门书,覆盖面广但图计算只占一小节;本书只聚焦 GraphX 图计算,从概念、API、算法到性能调优讲得更细更深入,属于专题型读物。
书里涉及机器学习内容吗?需要额外基础吗?
第 7 章专门讲机器学习,通过影片推荐、LDA 主题模型、逻辑回归反垃圾、图像分割等例子介绍 GraphX 与 MLlib 的配合,不重讲机器学习基础,建议先了解监督学习与无监督学习的基本概念。
读者评论
查询本书
本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。