前言

前言

作者:桑迪 • 里扎

我不希望我的人生有很多遗憾。2011 年,某个慵懒的时刻,我正在绞尽脑汁地想如何把高难度的离散优化问题最优地分配给计算机集群处理,真是很难想到有什么好方法。我的导师跟我讲,他听说有个叫 Apache Spark 的新技术,可我基本上没当回事。Spark 的想法太好了,让人觉得有点儿不靠谱。就这样,我很快又回去接着写 MapReduce 的本科毕业论文了。时光荏苒,Spark 和我都渐渐成熟,不过令我望尘莫及的是,Spark 已然成为冉冉之星,这让人不禁感叹“Spark”(星星之火)这个双关语是多么贴切。若干年后,Spark 的价值举世皆知!

Spark 的前辈有很多,从 MPI 到 MapReduce。利用这些计算框架,我们写的程序可以充分利用大量资源,但不需要关心分布式系统的实现细节。数据处理的需求促进了这些技术框架的发展。同样,大数据领域也和这些框架关系密切,这些框架界定了大数据的范围。Spark 有望更进一步,让写分布式程序就像写普通程序一样。

Spark 能大大提升 ETL 流水作业的性能,并把 MapReduce 程序员从每天问天天不灵、问地地不应的绝望痛苦中解救出来。对我而言,Spark 的激动人心之处在于,它真正打开了复杂数据分析的大门。Spark 带来了支持迭代式计算和交互式探索的模式。利用这一开源计算框架,数据科学家终于可以在大数据集上高效地工作了。

我认为数据科学教学最有效的方法是利用实例。为此,我和同事一起编写了这本关于实际应用的书,希望它能涵盖大规模数据分析中最常用的算法、数据集和设计模式。阅读本书时不必一页一页地看,可以根据工作需要或按兴趣直接翻到相关章节。

本书内容

第 1 章结合数据科学和大数据分析的广阔背景来讨论 Spark。随后各章在介绍 Spark 数据分析时都自成一体。第 2 章通过数据清洗这一使用场景来介绍用 Spark 和 Scala 进行数据处理的基础知识。接下来几章深入讨论如何将 Spark 用于机器学习,介绍了常见应用中几个最常用的算法。其余几章则收集了一些更新颖的应用,比如通过文本隐含语义关系来查询 Wikipedia 或分析基因数据。

第2版说明

自本书第 1 版出版以来,Spark 进行了一次重大的版本更新:使用了一个全新的核心 API; MLlib 和 Spark SQL 两个子项目也发生了翻天覆地的变化。第 2 版根据新版 Spark 的最佳实践,对样例代码和所使用的资料进行了大量更新。

使用代码示例

补充材料(代码示例、练习、勘误表等)可以从 https://github.com/sryza/aas 下载 1

1本书中文版勘误提交及资料下载,请访问本书图灵社区页面:http://www.ituring.com.cn/book/2039。——编者注

本书是要帮你完成工作的。一般来说,如果本书提供了示例代码,你可以把它用在你的程序或文档中。除非你使用了很大一部分代码,否则无须联系我们获得许可。比如,用本书的几个代码片段写一个程序就无须获得许可,销售或分发 O'Reilly 图书的示例光盘则需要获得许可;引用本书中的示例代码回答问题无须获得许可,将书中大量的代码放到你的产品文档中则需要获得许可。

我们很希望但并不强制要求你在引用本书内容时加上引用说明。引用说明一般包括书名、作者、出版社和 ISBN。比如:“Advanced Analytics with Spark by Sandy Ryza, Uri Laserson, Sean Owen, and Josh Wills (O'Reilly). Copyright 2015 Sandy Ryza, Uri Laserson, Sean Owen, and Josh Wills, 978-1-491-91276-8.”

如果你觉得自己对示例代码的用法超出了上述许可的范围,欢迎你通过 permissions@oreilly.com 与我们联系。

O'Reilly Safari

Safari(前身为 Safari Books Online)是为企业、政府、教育机构和个人提供的会员制培训和参考平台。

会员可以访问来自 250 多家出版商的上千种图书、培训视频、学习路径、互动教程和精选播放列表。这些出版商包括 O'Reilly Media、Harvard Business Review、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Adobe、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology,等等。

欲知更多信息,请访问 https://www.safaribooksonline.com/

联系我们

请把对本书的评价和问题发给出版社。

美国:

  O'Reilly Media, Inc.

  1005 Gravenstein Highway North

  Sebastopol, CA 95472

中国:

  北京市西城区西直门南大街 2 号成铭大厦 C 座 807 室(100035)

  奥莱利技术咨询(北京)有限公司

O'Reilly 的每一本书都有专属网页,你可以在那儿找到本书的相关信息,包括勘误表、示例代码以及其他信息。本书的网站地址是:

  http://shop.oreilly.com/product/0636920056591.do

对于本书的评论和技术性问题,请发送电子邮件到:

  bookquestions@oreilly.com

要了解更多 O'Reilly 图书、培训课程、会议和新闻的信息,请访问以下网站:

  http://www.oreilly.com

我们在 Facebook 的地址如下:

  https://facebook.com/oreilly

请关注我们的 Twitter 动态:

  https://twitter.com/oreillymedia

我们的 YouTube 视频地址如下:

  https://www.youtube.com/oreillymedia

致谢

如果没有 Apache Spark 和 MLlib,就没有本书。所以我们应该感谢开发了 Spark 和 MLlib 并将其开源的团体,也要感谢那些添砖加瓦的数以百计的代码贡献者。

我们还要感谢本书的每一位审阅者,感谢他们花费了大量的时间来审阅本书的内容,感谢他们的专业视角,他们是 Michael Bernico、Adam Breindel、Ian Buss、Parvis Deyhim、Jeremy Freeman、Chris Fregly、Debashish Ghosh、Juliet Hougland、Jonathan Keebler、Nisha Muktewar、Frank Nothaft、Nick Pentreath、Kostas Sakellis、Tom White、Marcelo Vanzin 和另一位 Juliet Hougland。谢谢你们所有人!我们欠你们一个大人情!你们的努力大大改进了本书的结构和质量。

我(桑迪)还要感谢 Jordan Pinkus 和 Richard Wang,你们帮助我完成了风险分析章节的原理部分。

感谢 Marie Beaugureau 和 O'Reilly 出版社在本书出版和发行过程中贡献的宝贵经验和大力支持!

电子版

扫描如下二维码,即可购买本书电子版。

{%}

目录

  • 版权声明
  • O'Reilly Media, Inc. 介绍
  • 推荐序
  • 译者序
  • 前言
  • 第 1 章 大数据分析
  • 第 2 章 用 Scala 和 Spark 进行数据分析
  • 第 3 章 音乐推荐和 Audioscrobbler 数据集
  • 第 4 章 用决策树算法预测森林植被
  • 第 5 章 基于 K 均值聚类的网络流量异常检测
  • 第 6 章 基于潜在语义分析算法分析维基百科
  • 第 7 章 用 GraphX 分析伴生网络
  • 第 8 章 纽约出租车轨迹的空间和时间数据分析
  • 第 9 章 基于蒙特卡罗模拟的金融风险评估
  • 第 10 章 基因数据分析和 BDG 项目
  • 第 11 章 基于 PySpark 和 Thunder 的神经图像数据分析
  • 作者介绍
  • 封面介绍