注重体验与质量的电子书资源下载网站
分类于: 设计 人工智能
简介
寻路大数据: 海量数据与大规模分析 豆 7.9分
资源最后更新于 2020-11-26 07:31:08
作者:Michael Manoochehri
译者:戴志伟
出版社:电子工业出版社
出版日期:2014-01
ISBN:9787121244728
文件格式: pdf
标签: 大数据 数据挖掘 分布式系统 互联网 计算机 计算机科学 文化 数据科学
简介· · · · · ·
这是一个数据爆发的时代,更是一个数据技术爆发的时代,各行各业都在因此进行深刻的变革。如何从众多的数据技术中选择正确的工具、如何使用这些工具从海量数据中挖掘出有价值的东西,无疑是非常具有挑战性的问题。
本书作者结合自己在Google 大数据平台工作的丰富经验,阐述了数据技术的方方面面。从数据收集、共享到数据存储,从分布式数据平台、分析型数据库到数据可视化,从数据工作流构建到大规模数据分析,作者不仅进行了全面而深入的介绍,更覆盖了目前流行的各种数据技术与工具,同时对技术选型提出了指导性的建议。最后,作者对数据挑战的非技术因素进行了深刻的分析,并对数据技术的发展趋势进行了展望,引人深思。
目录
第1部分 大数据时代指引 1
第1章 数据成功四原则 3
1.1 当数据成为一件“大”事 3
1.2 数据和单台服务器 4
1.3 大数据的权衡 5
1.3.1 构建可(无限)扩展的解决方案 6
1.3.2 构建可(在互联网上)共享数据的系统 7
1.3.3 构建解决方案,而非基础设施 8
1.3.4 关注从数据中解放价值 8
1.4 大数据流水线剖析 9
1.5 终极数据库 10
1.6 总结 10
第2部分 收集和共享海量数据 13
第2章 托管和共享TB 级原始数据 15
2.1 文件之殇 16
2.1.1 共享大量文件的挑战 16
2.2 存储:基础设施即服务 17
2.2.1 网络很慢 18
2.3 选择合适的数据格式 18
2.3.1 XML :数据,描述你自己 20
2.3.2 JSON :程序员的选择 21
2.4 字符编码 22
2.4.1 文件转换 24
2.5 移动中的数据:数据序列化格式 25
2.5.1 Apache Thrift 和Protocol Buffers 26
2.6 总结 27
第3章 构建基于NoSQL 的Web 应用采集众包数据 29
3.1 关系型数据库:命令及控制 30
3.1.1 关系数据库的ACID 测试 32
3.2 当关系型数据库遇上互联网 33
3.2.1 CAP 原理与BASE 34
3.3 非关系型数据库的模式 36
3.3.1 键- 值数据库 36
3.3.2 文档存储 38
3.4 为写入性能优化:Redis 40
3.5 在多个Redis 实例上分片 43
3.5.1 使用Twemproxy 自动分区 44
3.5.2 Redis 的替代选项 46
3.6 NewSQL :Codd 归来 46
3.7 总结 47
第4章 解决数据孤岛问题的策略 49
4.1 堆满术语的仓库 49
4.1.1 实践中的问题 51
4.1.2 数据合规与安全规划 52
4.1.3 走进数据仓库 53
4.1.4 数据仓库的口诀:抽取、转换和加载 54
4.2 Hadoop :数据仓库中的大象 55
4.3 数据孤岛也可能是个优点 55
4.3.1 专注于数据问题,而不是技术 56
4.3.2 鼓励员工提出他们自己的问题 57
4.3.3 投资沟通数据孤岛的技术 57
4.4 融合:数据孤岛的终结 58
4.4.1 Luhn 的商业智能系统是否能成为现实 59
4.5 总结 59
第3部分 数据探究 61
第5章 使用Hadoop、Hive 和Shark 探索大规模数据集 63
5.1 什么是数据仓库 64
5.2 Apache Hive :在Hadoop 上进行交互式查询 66
5.2.1 Hive 用例 66
5.2.2 Hive 实战 67
5.2.3 在Hive 中使用其他数据源 71
5.3 Shark :以内存的速度进行查询 72
5.4 云中的数据仓库 73
5.5 总结 74
第6章 使用Google BigQuery 构建数据信息中心 77
6.1 分析型数据库 78
6.2 Dremel :均贫富 79
6.2.1 Dremel 与MapReduce 的不同之处 80
6.3 BigQuery :数据分析即服务 81
6.3.1 BigQuery 的查询语言 82
6.4 建造自己的大数据信息面板 83
6.4.1 授权访问BigQuery API 84
6.4.2 运行查询并获取结果 87
6.4.3 缓存查询结果 88
6.4.4 添加可视化图形 89
6.5 分析型查询引擎的未来 91
6.6 总结 91
第7章 探索大数据的可视化策略 93
7.1 警世良言:将数据翻译成故事 94
7.2 人类尺度 VS 机器尺度 97
7.2.1 交互性 97
7.3 开发交互式数据应用 98
7.3.1 使用R 和ggplot2 实现交互式可视化 98
7.3.2 matplotlib: Python 的2D 图形库 100
7.3.3 D3.js :用于Web 的交互式可视化库 100
7.4 总结 104
第4部分 构建数据流水线 107
第8章 整合:MapReduce 数据流水线 109
8.1 数据流水线是什么 109
8.1.1 正确的工具 110
8.2 使用Hadoop Streaming 搭建数据流水线 111
8.2.1 MapReduce 和数据转换 111
8.2.2 最简单的流水线:stdin 到stdout 113
8.3 单步MapReduce 变换 115
8.3.1 从原始NVSS 数据中抽取相关信息:map 阶段 116
8.3.2 合计每月出生数:reducer 阶段 117
8.3.3 在本地测试MapReduce 流水线 118
8.3.4 在Hadoop 集群上运行我们的MapReduce 作业 119
8.4 降低复杂性:Hadoop 上Python 的MapReduce 框架 120
8.4.1 使用mrjob 重写Hadoop Streaming 示例 121
8.4.2 建造一个多步流水线 122
8.4.3 在Elastic MapReduce 上运行mrjob 脚本 124
8.4.4 其他基于Python 的MapReduce 框架 125
8.5 总结 125
第9章 使用Pig 和Cascading 构建数据转换工作流 127
9.1 大规模数据工作流实战 128
9.2 多步MapReduce 转换真复杂 128
9.2.1 Apache Pig :拒绝复杂 129
9.2.2 使用交互式Grunt shell 运行Pig 130
9.2.3 过滤和优化数据工作流 132
9.2.4 以批处理模式运行Pig 脚本 132
9.3 Cascading :构建健壮的数据工作流应用 133
9.3.1 以source 和sink 的方式思考 134
9.3.2 构建Cascading 应用 135
9.3.3 创建一个Cascade :一个简单的JOIN 例子 136
9.3.4 在Hadoop 集群上部署Cascading 应用 138
9.4 何时选择Pig 或Cascading 139
9.5 总结 140
第5部分 基于大规模数据集的机器学习 141
第10章 使用Mahout 构建数据分类系统 143
10.1 机器能否预测未来 144
10.2 机器学习的挑战 144
10.2.1 贝叶斯分类 146
10.2.2 聚类 146
10.2.3 推荐引擎 148
10.3 Apache Mahout :可伸缩的机器学习工具 148
10.3.1 使用Mahout 进行文本分类 149
10.4 MLbase :分布式机器学习框架 152
10.5 总结 152
第6部分 基于大规模数据集的统计分析 155
第11章 使用R 语言处理大数据集 157
11.1 统计学为什么性感 158
11.1.1 R 处理大型数据集的局限性 159
11.1.2 R 的数据帧和矩阵 161
11.2 处理大数据集的策略 162
11.2.1 大矩阵处理:bigmemory 和biganalytics 162
11.2.2 ff: 使用大于内存的数据帧 164
11.2.3 biglm :大规模数据集的线性回归 165
11.2.4 RHadoop: 使用R 访问Apache Hadoop 166
11.3 总结 168
第12章 使用Python 和Pandas 构建分析工作流 171
12.1 数据乐园中自在的蟒蛇——Python 172
12.1.1 为统计性计算选择一门语言 172
12.1.2 扩展现有代码 173
12.1.3 工具和测试 174
12.2 用于数据处理的Python 库 174
12.2.1 NumPy 175
12.2.2 SciPy :Python 的科学计算库 176
12.2.3 数据分析库Pandas 178
12.3 构建更复杂的工作流 182
12.3.1 处理损坏或丢失的记录 184
12.4 iPython :科学计算工具链的最后一环 185
12.4.1 在集群上并行执行iPython 186
12.5 总结 190
第7部分 展望未来 191
第13章 何时选择自制、购买或外包 193
13.1 功能重合的解决方案 193
13.2 理解你的数据问题 195
13.3 自制还是购买问题的参考手册 197
13.3.1 你已经对哪些技术有所投入 197
13.3.2 从小处着手 198
13.3.3 规划时考虑可扩展性 198
13.4 私人数据中心 199
13.5 了解开源的成本 201
13.6 一切皆服务 202
13.7 总结 202
第14章 未来:数据科技的几个趋势 205
14.1 Hadoop :搅局者与被搅局者 206
14.2 一切皆在云中 208
14.3 数据科学家的兴衰 209
14.4 融合:终极数据库 212
14.5 文化融合 213
14.6 总结 214
第1章 数据成功四原则 3
1.1 当数据成为一件“大”事 3
1.2 数据和单台服务器 4
1.3 大数据的权衡 5
1.3.1 构建可(无限)扩展的解决方案 6
1.3.2 构建可(在互联网上)共享数据的系统 7
1.3.3 构建解决方案,而非基础设施 8
1.3.4 关注从数据中解放价值 8
1.4 大数据流水线剖析 9
1.5 终极数据库 10
1.6 总结 10
第2部分 收集和共享海量数据 13
第2章 托管和共享TB 级原始数据 15
2.1 文件之殇 16
2.1.1 共享大量文件的挑战 16
2.2 存储:基础设施即服务 17
2.2.1 网络很慢 18
2.3 选择合适的数据格式 18
2.3.1 XML :数据,描述你自己 20
2.3.2 JSON :程序员的选择 21
2.4 字符编码 22
2.4.1 文件转换 24
2.5 移动中的数据:数据序列化格式 25
2.5.1 Apache Thrift 和Protocol Buffers 26
2.6 总结 27
第3章 构建基于NoSQL 的Web 应用采集众包数据 29
3.1 关系型数据库:命令及控制 30
3.1.1 关系数据库的ACID 测试 32
3.2 当关系型数据库遇上互联网 33
3.2.1 CAP 原理与BASE 34
3.3 非关系型数据库的模式 36
3.3.1 键- 值数据库 36
3.3.2 文档存储 38
3.4 为写入性能优化:Redis 40
3.5 在多个Redis 实例上分片 43
3.5.1 使用Twemproxy 自动分区 44
3.5.2 Redis 的替代选项 46
3.6 NewSQL :Codd 归来 46
3.7 总结 47
第4章 解决数据孤岛问题的策略 49
4.1 堆满术语的仓库 49
4.1.1 实践中的问题 51
4.1.2 数据合规与安全规划 52
4.1.3 走进数据仓库 53
4.1.4 数据仓库的口诀:抽取、转换和加载 54
4.2 Hadoop :数据仓库中的大象 55
4.3 数据孤岛也可能是个优点 55
4.3.1 专注于数据问题,而不是技术 56
4.3.2 鼓励员工提出他们自己的问题 57
4.3.3 投资沟通数据孤岛的技术 57
4.4 融合:数据孤岛的终结 58
4.4.1 Luhn 的商业智能系统是否能成为现实 59
4.5 总结 59
第3部分 数据探究 61
第5章 使用Hadoop、Hive 和Shark 探索大规模数据集 63
5.1 什么是数据仓库 64
5.2 Apache Hive :在Hadoop 上进行交互式查询 66
5.2.1 Hive 用例 66
5.2.2 Hive 实战 67
5.2.3 在Hive 中使用其他数据源 71
5.3 Shark :以内存的速度进行查询 72
5.4 云中的数据仓库 73
5.5 总结 74
第6章 使用Google BigQuery 构建数据信息中心 77
6.1 分析型数据库 78
6.2 Dremel :均贫富 79
6.2.1 Dremel 与MapReduce 的不同之处 80
6.3 BigQuery :数据分析即服务 81
6.3.1 BigQuery 的查询语言 82
6.4 建造自己的大数据信息面板 83
6.4.1 授权访问BigQuery API 84
6.4.2 运行查询并获取结果 87
6.4.3 缓存查询结果 88
6.4.4 添加可视化图形 89
6.5 分析型查询引擎的未来 91
6.6 总结 91
第7章 探索大数据的可视化策略 93
7.1 警世良言:将数据翻译成故事 94
7.2 人类尺度 VS 机器尺度 97
7.2.1 交互性 97
7.3 开发交互式数据应用 98
7.3.1 使用R 和ggplot2 实现交互式可视化 98
7.3.2 matplotlib: Python 的2D 图形库 100
7.3.3 D3.js :用于Web 的交互式可视化库 100
7.4 总结 104
第4部分 构建数据流水线 107
第8章 整合:MapReduce 数据流水线 109
8.1 数据流水线是什么 109
8.1.1 正确的工具 110
8.2 使用Hadoop Streaming 搭建数据流水线 111
8.2.1 MapReduce 和数据转换 111
8.2.2 最简单的流水线:stdin 到stdout 113
8.3 单步MapReduce 变换 115
8.3.1 从原始NVSS 数据中抽取相关信息:map 阶段 116
8.3.2 合计每月出生数:reducer 阶段 117
8.3.3 在本地测试MapReduce 流水线 118
8.3.4 在Hadoop 集群上运行我们的MapReduce 作业 119
8.4 降低复杂性:Hadoop 上Python 的MapReduce 框架 120
8.4.1 使用mrjob 重写Hadoop Streaming 示例 121
8.4.2 建造一个多步流水线 122
8.4.3 在Elastic MapReduce 上运行mrjob 脚本 124
8.4.4 其他基于Python 的MapReduce 框架 125
8.5 总结 125
第9章 使用Pig 和Cascading 构建数据转换工作流 127
9.1 大规模数据工作流实战 128
9.2 多步MapReduce 转换真复杂 128
9.2.1 Apache Pig :拒绝复杂 129
9.2.2 使用交互式Grunt shell 运行Pig 130
9.2.3 过滤和优化数据工作流 132
9.2.4 以批处理模式运行Pig 脚本 132
9.3 Cascading :构建健壮的数据工作流应用 133
9.3.1 以source 和sink 的方式思考 134
9.3.2 构建Cascading 应用 135
9.3.3 创建一个Cascade :一个简单的JOIN 例子 136
9.3.4 在Hadoop 集群上部署Cascading 应用 138
9.4 何时选择Pig 或Cascading 139
9.5 总结 140
第5部分 基于大规模数据集的机器学习 141
第10章 使用Mahout 构建数据分类系统 143
10.1 机器能否预测未来 144
10.2 机器学习的挑战 144
10.2.1 贝叶斯分类 146
10.2.2 聚类 146
10.2.3 推荐引擎 148
10.3 Apache Mahout :可伸缩的机器学习工具 148
10.3.1 使用Mahout 进行文本分类 149
10.4 MLbase :分布式机器学习框架 152
10.5 总结 152
第6部分 基于大规模数据集的统计分析 155
第11章 使用R 语言处理大数据集 157
11.1 统计学为什么性感 158
11.1.1 R 处理大型数据集的局限性 159
11.1.2 R 的数据帧和矩阵 161
11.2 处理大数据集的策略 162
11.2.1 大矩阵处理:bigmemory 和biganalytics 162
11.2.2 ff: 使用大于内存的数据帧 164
11.2.3 biglm :大规模数据集的线性回归 165
11.2.4 RHadoop: 使用R 访问Apache Hadoop 166
11.3 总结 168
第12章 使用Python 和Pandas 构建分析工作流 171
12.1 数据乐园中自在的蟒蛇——Python 172
12.1.1 为统计性计算选择一门语言 172
12.1.2 扩展现有代码 173
12.1.3 工具和测试 174
12.2 用于数据处理的Python 库 174
12.2.1 NumPy 175
12.2.2 SciPy :Python 的科学计算库 176
12.2.3 数据分析库Pandas 178
12.3 构建更复杂的工作流 182
12.3.1 处理损坏或丢失的记录 184
12.4 iPython :科学计算工具链的最后一环 185
12.4.1 在集群上并行执行iPython 186
12.5 总结 190
第7部分 展望未来 191
第13章 何时选择自制、购买或外包 193
13.1 功能重合的解决方案 193
13.2 理解你的数据问题 195
13.3 自制还是购买问题的参考手册 197
13.3.1 你已经对哪些技术有所投入 197
13.3.2 从小处着手 198
13.3.3 规划时考虑可扩展性 198
13.4 私人数据中心 199
13.5 了解开源的成本 201
13.6 一切皆服务 202
13.7 总结 202
第14章 未来:数据科技的几个趋势 205
14.1 Hadoop :搅局者与被搅局者 206
14.2 一切皆在云中 208
14.3 数据科学家的兴衰 209
14.4 融合:终极数据库 212
14.5 文化融合 213
14.6 总结 214