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章DataFrame24
3.1Python到RDD之间的通信24
3.2Catalyst优化器刷新25
3.3利用DataFrame加速PySpark27
3.4创建DataFrame28
3.4.1生成自己的JSON数据29
3.4.2创建一个DataFrame29
3.4.3创建一个临时表30
3.5简单的DataFrame查询31
3.5.1DataFrameAPI查询32
3.5.2SQL查询32
3.6RDD的交互操作33
3.6.1使用反射来推断模式33
3.6.2编程指定模式34
3.7利用DataFrameAPI查询35
3.7.1行数35
3.7.2运行筛选语句35
3.8利用SQL查询36
3.8.1行数36
3.8.2利用where子句运行筛选语句36
3.9DataFrame场景——实时飞行性能38
3.9.1准备源数据集38
3.9.2连接飞行性能和机场39
3.9.3可视化飞行性能数据40
3.10Spark数据集(Dataset)API41
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形式的RDD70
5.4.2分隔培训和测试数据71
5.5预测婴儿生存机会71
5.5.1MLlib中的逻辑回归71
5.5.2只选择最可预测的特征72
5.5.3MLlib中的随机森林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.2Train-validation划分88
6.4使用PySparkML的其他功能89
6.4.1特征提取89
6.4.2分类93
6.4.3聚类95
6.4.4回归98
6.5小结99
第7章GraphFrames100
7.1GraphFrames介绍102
7.2安装GraphFrames102
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理解Motif113
7.9使用PageRank确定机场排名114
……
第8章TensorFrames120
8.1深度学习是什么120
8.1.1神经网络和深度学习的必要性123
8.1.2特征工程是什么125
8.1.3桥接数据和算法125
8.2TensorFlow是什么127
8.2.1安装PIP129
8.2.2安装TensorFlow129
8.2.3使用常量进行矩阵乘法130
8.2.4使用placeholder进行矩阵乘法131
8.2.5讨论132
8.3TensorFrames介绍133
8.4TensorFrames快速入门134
8.4.1配置和设置134
8.4.2使用TensorFlow向已有列添加常量136
8.4.3Blockwisereducing操作示例137
8.5小结139
第9章使用Blaze实现混合持久化