第一部分 分布式计算入门 2
第1章 数据产品时代 2
1.1什么是数据产品 2
1.2使用Hadoop构建大规模数据产品 4
1.2.1利用大型数据集 4
1.2.2数据产品中的Hadoop 5
1.3数据科学流水线和Hadoop生态系统 6
1.4小结 8
第2章 大数据操作系统 9
2.1基本概念 10
2.2 Hadoop架构 11
2.2.1 Hadoop集群 12
2.2.2 HDFS 14
2.2.3 YA RN 15
2.3使用分布式文件系统 16
2.3.1基本的文件系统操作 16
2.3.2 HDFS文件权限 18
2.3.3其他HDFS接口 19
2.4使用分布式计算 20
2.4.1 MapReduce:函数式编程模型 20
2.4.2 MapReduce:集群上的实现 22
2.4.3不止一个MapReduce:作业链 27
2.5向YARN提交MapReduce作业 28
2.6 小结 30
第3章 Python框架和Hadoop Streaming 31
3.1 Hadoop Streaming 32
3.1.1使用Streaming在CSV数据上运行计算 34
3.1.2执行Streaming作业 38
3.2 Python的MapReduce框架 39
3.2.1短语计数 42
3.2.2其他框架 45
3.3 MapReduce进阶 46
3.3.1 combiner 46
3.3.2 partioner 47
3.3.3作业链 47
3.4小结 50
第4章 Spark内存计算 52
4.1 Spark基础 53
4.1.1 Spark栈 54
4.1.2 RDD 55
4.1.3使用RDD编程 56
4.2基于PySpark的交互性Spark 59
4.3编写Spark应用程序 61
4.4小结 67
第5章 分布式分析和模式 69
5.1键计算 70
5.1.1复合键 71
5.1.2键空间模式 74
5.1.3 pair与stripe 78
5.2设计模式 80
5.2.1概要 81
5.2.2索引 85
5.2.3过滤 90
5.3迈向最后一英里分析 95
5.3.1模型拟合 96
5.3.2模型验证 97
5.4小结 98
第二部分 大数据科学的工作流和工具 102
第6章 数据挖掘和数据仓储 102
6.1 Hive结构化数据查询 103
6.1.1 Hive命令行接口(CLI) 103
6.1.2 Hive查询语言 104
6.1.3 Hive数据分析 108
6.2 HBase 113
6.2.1 NoSQL与列式数据库 114
6.2.2 HBase实时分析 116
6.3小结 122
第7章 数据采集 123
7.1使用Sqoop导入关系数据 124
7.1.1从MySQL导入HDFS 124
7.1.2从MySQL导入Hive 126
7.1.3从MySQL导入HBase 128
7.2使用Flume获取流式数据 130
7.2.1 Flume数据流 130
7.2.2使用Flume获取产品印象数据 133
7.3小结 136
第8章 使用高级API进行分析 137
8.1 Pig 137
8.1.1 Pig Latin 138
8.1.2数据类型 142
8.1.3关系运算符 142
8.1.4用户定义函数 143
8.1.5 Pig小结 144
8.2 Spark高级API 144
8.2.1 Spark SQL 146
8.2.2 DataFrame 148
8.3小结 153
第9章 机器学习 154
9.1使用Spark进行可扩展的机器学习 154
9.1.1协同过滤 156
9.1.2分类 161
9.1.3聚类 163
9.2小结 166
第10章 总结:分布式数据科学实战 167
10.1数据产品生命周期 168
10.1.1数据湖泊 169
10.1.2数据采集 171
10.1.3计算数据存储 172
10.2机器学习生命周期 173
10.3小结 175
附录A创建Hadoop伪分布式开发环境 176
附录B 安装Hadoop生态系统产品 184
术语表 193
关于作者 211
关于封面 211