.2并行处理
2.2.1处理器和处理过程
2.2.2并行化和序列化
2.2.3顺序和并行化
2.2.4状态和并行化
2.3把它们拼在一起:抓取维基百科(Wikipedia)网站
2.3.1可视化我们的图
2.3.2回到map函数
2.4练习
2.4.1并行化的问题
2.4.2map函数
2.4.3并行化和速度
2.4.4存储序列化
2.4.5Web抓取数据
2.4.6异构的map转换
总结
第3章用来映射复杂转换的函数管道
3.1辅助函数和函数链
3.2揭露黑客的通信手段
3.2.1创建辅助函数
3.2.2创建一个管道
3.3Twitter人口预测
3.3.1推文级别的管道
3.3.2用户级别的管道
3.3.3应用管道
3.4练习
3.4.1辅助函数和函数管道
3.4.2数学老师的“把戏”
3.4.3恺撒密码
总结
第4章用惰性工作流来处理大型数据集
4.1什么是惰性计算
4.2一些你需要知道的惰性函数
4.2.1用filter函数过滤序列
4.2.2用zip函数合并序列
4.2.3用iglob函数进行惰性文件搜索
4.3理解迭代器:Python惰性能力背后的魔法
4.3.1惰性Python的支柱:迭代器
4.3.2生成器:用来创建数据的函数
4.4诗歌谜题:如何惰性处理大型数据集
4.4.1生成这个示例的数据
4.4.2用iglob函数来读取诗的内容
4.4.3清理诗的正则表达式类
4.4.4计算诗歌内容的比率
4.5惰性模拟:模拟渔村场景
4.5.1创建一个村庄类
4.5.2为我们的渔村场景设计一个模拟类
4.6练习
4.6.1惰性函数
4.6.2fizzbuzz问题生成器
4.6.3重复访问
4.6.4并行模拟
4.6.5拼字游戏单词
总结
第5章使用reduce进行累加操作
5.1使用reduce函数进行N-X的转换
5.2reduce函数的三个部分
5.2.1reduce中的累加函数
5.2.2使用lambda函数的简化累加
5.2.3reduce函数中用于启动复杂行为的初始值
5.3你熟悉的归约函数
5.3.1使用reduce函数来模拟filter函数
5.3.2使用reduce函数来模拟frequencies函数
5.4同时使用map函数和reduce函数
5.5使用reduce来分析汽车销售趋势
5.5.1使用map函数来清洗汽车数据
5.5.2使用reduce来计算汽车销售的总利润和总数量
5.5.3对汽车数据应用map和reduce模式
5.6加速map和reduce
5.7练习
5.7.1需要使用reduce的情况
5.7.2lambda函数
5.7.3最大的数字
5.7.4按长度分组单词
总结
第6章使用高级并行化来加速map和reduce
6.1充分利用并行map
6.1.1分块大小以及如何最大化地利用并行map
6.1.2带有可变序列和分块大小的并行map运行时
6.1.3更多的并行map:imap和starmap函数
6.2解决并行map和reduce的悖论
6.2.1用来更快进行归约的并行reduce
6.2.2组合函数以及并行reduce工作流
6.2.3使用fold实现并行求和、filter和frequencies
总结
第2部分
第7章使用Hadoop和Spark处理真正的大型数据集
7.1分布式计算
7.2用于批处理的Hadoop
7.3使用Hadoop找到高分单词
7.3.1使用Python和HadoopStreaming实现MapReduce作业
7.3.2使用HadoopStreaming对单词进行评分
7.4用于交互式工作流的Spark
7.4.1用Spark在内存中处理大型数据集
7.4.2结合Python和Spark的PySpark
7.4.3使用SparkSQL进行企业数据分析
7.4.4用SparkDataFrame来处理列式数据
7.5用Spark来记录单词得分
7.5.1搭建Spark环境
7.5.2通过spark-submit来运行MapReduceSpark作业
7.6练习
7.6.1HadoopStreaming脚本
7.6.2Spark接口
7.6.3RDD
7.6.4在多个步骤之间传递数据
总结
第8章使用ApacheStreaming和mrjob处理大数据的最佳实践
8.1非结构化数据:日志和文档
8.2使用Hadoop对网球球员进行分析
8.2.1用来读取比赛数据的mapper函数
8.2.2计算网球选手等级的reducer函数
8.3通过mrjob工具,以Python的方式来使用HadoopStreaming
8.3.1一个mrjob作业的Python结构
8.3.2使用mrjob统计错误数量
8.4使用mrjob来分析网球比赛
8.4.1按场地类型统计塞雷娜的战绩
8.4.2统计威廉姆斯姐妹之间的长期竞争
8.5练习
8.5.1Hadoop的数据格式
8.5.2更多的Hadoop数据格式
8.5.3Hadoop的原生编程语言
8.5.4在MRJob中设计通用的模式
总结
第9章在PySpark中使用map和reduce来实现PageRank算法
9.1近距离了解PySpark
9.1.1PySpark中类似于map函数的方法
9.1.2PySpark中类似于reduce函数的方法
9.1.3PySpark中的简便方法
9.2在PySpark中使用Elo和PageRank算法对网球选手进行评分
9.2.1使用PySpark重新实现Elo评分
9.2.2介绍PageRank算法
9.2.3用PageRank来计算网球选手的评分
9.3练习
9.3.1sumByKey
9.3.2用toolz库来实现sumByKey
9.3.3Spark和toolz库
9.3.4维基百科的PageRank算法
总结
第10章使用机器学习和PySpark进行更快的决策
10.1什么是机器学习
10.1.1机器学习是一种可以自我调节的判断型算法
10.1.2机器学习的常见应用程序
10.2机器学习基础与决策树分类器
10.2.1设计决策树分类器
10.2.2在PySpark中实现一个决策树
10.3PySpark中的快速随机森林分类
10.3.1理解随机森林分类器
10.3.2实现一个随机森林分类器
总结
第3部分
第11章使用AmazonWebServices和S3在云计算环境中处理大型数据集
11.1AWSSimpleStorageService—针对大型数据集的解决方案
11.1.1用S3实现无限的存储
11.1.2云存储的可扩展性
11.1.3方便的存储异构对象
11.1.4用于管理大型数据集的管理服务
11.1.5管理大型数据集的生命周期策略
11.2使用S3在云中存储数据
11.2.1通过浏览器来存储S3数据
11.2.2使用Python和boto通过编程方式访问S3
11.3练习
11.3.1S3存储类型
11.3.2S3存储区域
11.3.3对象存储
总结
第12章使用Amazon的ElasticMapReduce在云上实现MapReduce
12.1在EMR上通过mrjob来运行Hadoop
12.1.1用EMR方便地创建云计算集群
12.1.2使用mrjob启动EMR集群
12.1.3AWS的EMR浏览器界面
12.2在EMR上使用Spark来进行机器学习
12.2.1编写机器学习模型
12.2.2为Spark搭建一个EMR集群
12.2.3在集群中运行PySpark作业
12.3练习
12.3.1R系列集群
12.3.2相关联的Hadoop工作
12.3.3实例类型
总结