PySpark实战指南:利用Python和Spark构建数据密集型应用并规模化部署
系统讲解如何在Spark2.0上高效运用Python来处理数据并建立机器学习模型,帮助读者开发并部署高效可拓展的实时Spark解决方案
-
阅读客户端:
爱阅读客户端
如果您尚未下载客户端,点击下面图标下载 - 支持阅读载体:
- 评分:
(已有0条评价)
- 纸版书:PySpark实战指南:利用Python和Spark构建数据密集型应用并规模化部署
- Ebook价:¥25.00
基本信息
- 原书名:Learning PySpark
- 作者: (美)托马兹·卓巴斯(Tomasz Drabas) (美)丹尼·李(Denny Lee)
- 译者: 栾云杰 陈瑶 刘旭斌
- 丛书名: 大数据技术丛书
- 出版社:机械工业出版社
- ISBN:9787111582380
- 上架时间:2017-11-3
- 出版日期:2017 年11月
- 开本:16开
- 版次:1-1
- 所属分类:计算机 > 软件与程序设计 > Python

内容简介
作译者
在微软,托马兹每天都和大数据打交道,解决机器学习问题,如异常检测、流失预测和使用Spark的模式识别。
托马兹还撰写了《Practical Data Analysis Cookbook》,该书由Packt Publishing于2016年出版。
我要感谢我的家人Rachel、Skye 和Albert,你们是我生命中的挚爱,我很珍惜与你们度过的每一天!谢谢你们永远站在我身边,鼓励我一步步接近我的职业目标。另外,感谢所有的亲人们。
多年来,还有很多人影响了我,我得再写一本书来感谢他们。你们知道,我从心底谢谢你们!
不过,如果不是Czesia Wieruszewska,我不会得到博士学位。还有Krzys Krzysztoszek,你一直相信我!谢谢!
丹尼·李(Denny Lee)是微软Azure DocumentDB团队的首席项目经理,该团队致力于为微软发展高效性、重量级的托管文档存储服务。他是一名喜欢实践的分布式系统和数据科学工程师,拥有超过18年的互联网级别基础架构、数据平台和预测分析系统的开发经验,这些经验可用于内部部署和云环境。
他在组建新团队以及促进转型、改革方面拥有丰富的经验。在加入Azure DocumentDB团队之前,丹尼曾担任Databricks的技术传播专员,他从Apache Spark 0.5时就一直在使用Apache Spark。他还是Concur数据科学工程的高级总监,曾就职于构建了微软Windows和Azure服务(目前称为HDInsight)的Hadoop的孵化团队。丹尼还拥有俄勒冈州健康和科学大学的生物医学信息硕士学位,并在过去15年中为企业医疗保健客户构建和实施了强大的数据解决方案。
我要感谢我的好妻子Hua-Ping,还有我出色的女儿Isabella和Samantha。是你们让我保持清醒,帮我实现了梦寐以求的愿望!
目录
序
前言
关于作者
第1章 了解Spark 1
1.1 什么是Apache Spark 1
1.2 Spark作业和API 2
1.2.1 执行过程 2
1.2.2 弹性分布式数据集 3
1.2.3 DataFrame 4
1.2.4 Dataset 5
1.2.5 Catalyst优化器 5
1.2.6 钨丝计划 5
1.3 Spark 2.0的架构 6
1.3.1 统一Dataset和DataFrame 7
1.3.2 SparkSession介绍 8
1.3.3 Tungsten Phase 2 8
1.3.4 结构化流 10
1.3.5 连续应用 10
1.4 小结 11
译者序
年初的时候我们从机械工业出版社华章公司那里知道有一本关于大数据的书正在征集翻译,在看过英文版并翻译了样章后,我们几位志同道合的软件工程师一块儿接受了《Learning PySpark》的翻译工作。我们都非常兴奋,因为作为软件工程师,能有机会把当前最热最新的技术介绍给大家是何其荣幸。
Python是数据分析最常用的语言之一,而Apache Spark是一个开源的强大的分布式查询和处理引擎。本书用详尽的例子介绍了如何使用Python来调用Spark的新特性,如何处理结构化和非结构化的数据,如何使用PySpark中一些基本的可用数据类型,如何生成机器学习模型、操作图像、阅读串流数据以及在云上部署你的模型。
数据是每个人身边都存在的,理解学习比较容易,但是数据量足够大才是一个相对准确的学习平台。在实践中,如何确定训练集合、如何将脏数据处理为清洁数据、如何填充数据等等,需要结合本书的知识理论,清楚了解待处理的大数据特性。每一种数据的特征或特性都不一致,所以前期的准备和调研必不可少。本书不仅仅是一本工具书,也是一本能深入浅出、结合简单实例来介绍PySpark语言的书。不管使用什么语言和工具,万变不离其宗。希望阅读此书的人,除了看懂示例,还能够结合实际经验来推敲,这样就能明白作者举这些例子的良苦用心。
希望大家喜欢这本书,因为译者的水平有限,翻译中的错漏缺点在所难免,希望读者批评指正。
读者对象
本书适合以下几类读者阅读:
对大数据的前沿技术非常感兴趣的人。
有志于成为一名数据科学家的从业人员。
有一定算法和编程基础的技术爱好者。
译者分工
本书由来自IBM中国开发中心的软件工程师联合翻译完成。其中:
栾云杰(目前就职于IBM中国开发中心)翻译了第5章、第6章。
陈瑶(原IBM工程师,现就职于某大数据公司)翻译了第2章、第3章、第4章、第11章。
刘旭斌(目前就职于IBM中国开发中心)翻译了第7章、第8章、第9章。
另外,第1章由栾云杰、陈瑶、刘旭斌三人共同翻译,第10章由栾云杰、陈瑶两人共同翻译。
致谢
感谢华章公司引进了该书的中译本版权,这是该中译本得以面市的最核心要素。
感谢华章公司的和静老师给予我们的支持和信任。因为这份信任,我们才有机会来翻译这本关于大数据和Apache Spark的书籍。
感谢本次翻译组的小伙伴们。翻译本书的过程,是一种学习与思考的结合,也是和伙伴合作与交流的经历。非常庆幸遇到了睿智又勤奋的伙伴,即使在繁忙的工作和节奏极快的生活中,也努力完成了翻译和审阅计划。
前言
然而,即使拥有每天都分析过滤海量数据的能力,MapReduce始终是一个限制相当严格的编程框架。此外,大多数的任务还要求读取、写入磁盘。认识到这些缺点,2009年Matei Zaharia将Spark作为他博士课题的一部分开始研究。Spark在2012年首次发布。虽然Spark是基于和MapReduce相同的概念,但其先进的数据处理方法和任务组织方式使得它比Hadhoop要快100倍(对于内存计算)。
在这本书中,我们将指导你使用Python了解Apache Spark的最新性能,包括如何看懂结构化和非结构化的数据,如何使用PySpark中一些基本的可用数据类型,生成机器学习模型,图像操作,阅读串流数据,在云上部署模型。每一章力求解决不同的问题,并且我们也希望看完这本书之后,你可以掌握足够的知识来解决其他我们还没来得及在书中讲解的问题。
本书的主要内容
第1章通过技术和作业的组织等概念提供了对Spark的介绍。
第2章介绍了RDD、基本原理、PySpark中可用的非模式化数据结构。
第3章详细介绍了DataFrame数据结构,它可以弥合Scala和Python之间在效率方面的差距。
第4章引导读者了解Spark环境中的数据清理和转换的过程。
第5章介绍了适用于RDD的机器学习库,并回顾了最有用的机器学习模型。
第6章涵盖了当前主流的机器学习库,并且提供了目前可用的所有模型的概述。
第7章引导你了解能轻松利用图解决问题的新结构。
第8章介绍了Spark和张量流(TensorFlow)领域中深度学习(Deep Learning)的连接桥梁。
第9章描述Blaze是如何跟Spark搭配使用以更容易地对多源数据进行抽象化的。
第10章介绍了PySpark中可用的流工具。
第11章一步步地指导你运用命令行界面完成代码模块化并提交到Spark执行。
其他一些详细信息,我们提供了以下额外的章节:
安装Spark:https://www.packtpub.com/sites/default/files/downloads/InstallingSpark.pdf。
免费提供Spark Cloud:https://www.packtpub.com/sites/default/files/downloads/FreeSparkCloud Offering.pdf。
本书需要的软/硬件支持
阅读本书,需要准备一台个人电脑(Windows、Mac或者Linux任一系统都行)。运行Apache Spark,需要Java 7+并且安装配置Python 2.6+版本或者3.4+版本的环境;本书中使用的是Anaconda Python3.5版本,可以在https://www.continuum.io/downloads下载。
序言
很荣幸有机会浏览这本书的早期版本,这使我对该项目的兴趣更为浓厚。我曾有幸参加过一些类似的会议和聚会,看着作者将Spark世界的新概念介绍给不同的观众(从新人到经验丰富的老手),并且他们提取自身的经验写出这本书,他们真是太棒了。从阐述知识到各个主题的覆盖,无一不体现了作者们的丰富经验。除了简单介绍PySpark之外,他们还花时间从社区中找来了日渐重要的包,如GraphFrames和TensorFrames。
在决定使用哪些工具时,我觉得社区是经常被忽视的一部分,Python拥有一个很棒的社区,我期待着你加入Python Spark社区。所以,来享受你的冒险之旅吧;我知道你会和Denny Lee以及Tomek Drabas有很好的联系。 我真的相信,通过拥有多样化的Spark用户社区,我们将能够创造出对每个人都有用的更好的工具,所以我希望能够在某个会议、聚会或邮件列表中见到你!
Holden Karau