猜你喜欢
PySpark实战指南

PySpark实战指南

书籍作者:托马兹·卓巴斯 ISBN:9787111582380
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:7604
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介
本文从Spark的基本特点出发,借助大量例子详细介绍了如何使用Python调用Spark新特性、处理结构化及非结构化数据、使用PySpark中基本可用数据类型、生成机器学习模型、进行图像操作以及阅读串流数据等新兴技术内容。
作者简介

作者:(美)托马兹·卓巴斯 作者:丹尼·李 译者:栾云杰 译者:陈瑶 译者:刘旭斌

托马兹·卓巴斯(Tomasz Drabas),微软数据科学家,他拥有超过13年的数据分析经验。托马兹每天都和大数据打交道,解决机器学习问题(如异常检测、流失预测),并使用Spark进行模式识别。丹尼·李(Denny Lee),微软Azure DocumentDB团队的首席项目经理。他是一个经验丰富的分布式系统和数据科学工程师,拥有超过18年的经验,擅长开发互联网级别基础架构、数据平台和预测分析系统(包括内部部署和云环境)。

前言
据估计,2013年全世界产生了大约4.4ZB(词头Z代表1021)信息量的数据!而到2020年,预计人类将会产生10倍于2013年的数据量。随着字面上的数字越来越大,加上人们需求的日益增长,为了使这些数据更有意义,2004年来自Google的Jeffrey Dean和Sanjay Ghemawat发表了一篇开创性的论文《MapReduce:Simplified Data Processing on Large Clusters》。至此,利用这一概念的技术开始快速增多,Apache Hadoop也开始迅速变得流行起来,最终创建了一个Hadoop的生态系统,包括抽象层的Pig、Hive和Mahout,都是利用了map和reduce的简单概念。
然而,即使拥有每天都分析过滤海量数据的能力,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执行。
本书中我们随意使用了Anaconda的预装版Python模块。GraphFrames和TensorFrames也可以在启动Spark实例时动态加载:载入时你的电脑需要联网。如果有的模块尚未安装到你的电脑里,也没有关系,我们会指导你完成安装过程。
本书的读者对象想要学习大数据领域发展最迅速的技术即Apache Spark的每一个人,都可以阅读此书。我们甚至希望还有来自于数据科学领域更高级的从业人员,能够找到一些令人耳目一新的例子以及更有趣的主题。
本书约定警告或重要的笔记提示和技巧下载代码示例你可以从http://www.packtpub.com下载代码文件。你也可以访问华章图书官网通过注册并登录个人账号,下载本书的源代码。
下载本书彩图我们还提供了一个PDF文件,其中包含本书中使用的截图和彩图,可以帮助读者更好地了解输出的变化。
目录
译者序

前言
关于作者
第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
第2章 弹性分布式数据集 12
2.1 RDD的内部运行方式 12
2.2 创建RDD 13
2.2.1 Schema 14
2.2.2 从文件读取 14
2.2.3 Lambda表达式 15
2.3 全局作用域和局部作用域 16
2.4 转换 17
2.4.1 .map(...)转换 17
2.4.2 .filter(...)转换 18
2.4.3 .flatMap(...)转换 18
2.4.4 .distinct(...)转换 18
2.4.5 .sample(...)转换 19
2.4.6 .leftOuterJoin(...)转换 19
2.4.7 .repartition(...)转换 20
2.5 操作 20
2.5.1 .take(...)方法 21
2.5.2 .collect(...)方法 21
2.5.3 .reduce(...)方法 21
2.5.4 .count(...)方法 22
2.5.5 .saveAsTextFile(...)方法 22
2.5.6 .foreach(...)方法 23
2.6 小结 23
第3章 DataFrame 24
3.1 Python到RDD之间的通信 24
3.2 Catalyst优化器刷新 25
3.3 利用DataFrame加速PySpark 27
3.4 创建DataFrame 28
3.4.1 生成自己的JSON数据 29
3.4.2 创建一个DataFrame 29
3.4.3 创建一个临时表 30
3.5 简单的DataFrame查询 31
3.5.1 DataFrame API查询 32
3.5.2 SQL查询 32
3.6 RDD的交互操作 33
3.6.1 使用反射来推断模式 33
3.6.2 编程指定模式 34
3.7 利用DataFrame API查询 35
3.7.1 行数 35
3.7.2 运行筛选语句 35
3.8 利用SQL查询 36
3.8.1 行数 36
3.8.2 利用where子句运行筛选语句 36
3.9 DataFrame场景——实时飞行性能 38
3.9.1 准备源数据集 38
3.9.2 连接飞行性能和机场 39
3.9.3 可视化飞行性能数据 40
3.10 Spark数据集(Dataset)API 41
3.11 小结 42
第4章 准备数据建模 43
4.1 检查重复数据、未观测数据和异常数据(离群值) 43
4.1.1 重复数据 43
4.1.2 未观测数据 46
4.1.3 离群值 50
4.2 熟悉你的数据 51
4.2.1 描述性统计 52
4.2.2 相关性 54
4.3 可视化 55
4.3.1 直方图 55
4.3.2 特征之间的交互 58
4.4 小结 60
第5章  MLlib介绍 61
5.1 包概述 61
5.2 加载和转换数据 62
5.3 了解你的数据 65
5.3.1 描述性统计 66
5.3.2 相关性 67
5.3.3 统计测试 69
5.4 创建最终数据集 70
5.4.1 创建LabeledPoint形式的RDD 70
5.4.2 分隔培训和测试数据 71
5.5 预测婴儿生存机会 71
5.5.1 MLlib中的逻辑回归 71
5.5.2 只选择最可预测的特征 72
5.5.3 MLlib中的随机森林 73
5.6 小结 74
第6章 ML包介绍 75
6.1 包的概述 75
6.1.1 转换器 75
6.1.2 评估器 78
6.1.3 管道 80
6.2 使用ML预测婴儿生存几率 80
6.2.1 加载数据 80
6.2.2 创建转换器 81
6.2.3 创建一个评估器 82
6.2.4 创建一个管道 82
6.2.5 拟合模型 83
6.2.6 评估模型的性能 84
6.2.7 保存模型 84
6.3 超参调优 85
6.3.1 网格搜索法 85
6.3.2 Train-validation 划分 88
6.4 使用PySpark ML的其他功能 89
6.4.1 特征提取 89
6.4.2 分类 93
6.4.3 聚类 95
6.4.4 回归 98
6.5 小结 99
第7章 GraphFrames 100
7.1 GraphFrames介绍 102
7.2 安装GraphFrames 102
7.2.1 创建库 103
7.3 准备你的航班数据集 105
7.4 构建图形 107
7.5 执行简单查询 108
7.5.1 确定机场和航班的数量 108
7.5.2 确定这个数据集中的最长延误时间 108
7.5.3 确定延误和准点/早到航班的数量对比 109
7.5.4 哪一班从西雅图出发的航班最有可能出现重大延误 109
7.5.5 西雅图出发到哪个州的航班最有可能出现重大延误 110
7.6 理解节点的度 110
7.7 确定最大的中转机场 112
7.8 理解Motif 113
7.9 使用PageRank确定机场排名 114
7.10 确定最受欢迎的直飞航班 115
7.11 使用广度优先搜索 116
7.12 使用D3将航班可视化 118
7.13 小结 119
第8章 TensorFrames 120
8.1 深度学习是什么 120
8.1.1 神经网络和深度学习的必要性 123
8.1.2 特征工程是什么 125
8.1.3 桥接数据和算法 125
8.2 TensorFlow是什么 127
8.2.1 安装PIP 129
8.2.2 安装TensorFlow 129
8.2.3 使用常量进行矩阵乘法 130
8.2.4 使用placeholder进行矩阵乘法 131
8.2.5 讨论 132
8.3 TensorFrames介绍 133
8.4 TensorFrames快速入门 134
8.4.1 配置和设置 134
8.4.2 使用TensorFlow向已有列添加常量 136
8.4.3 Blockwise reducing操作示例 137
8.5 小结 139
第9章 使用Blaze实现混合持久化
短评

原书三星, 译者英语和专业知识都不行.

2017-12-11

标签
spark,python,bigData