深入理解Hadoop 原书第2版PDF电子书下载
- 电子书积分:13 积分如何计算积分?
- 作 者:(美)萨米尔·瓦德卡,(美)马杜·西德林埃,(美)杰森·文纳著;于博,冯傲风译
- 出 版 社:北京:机械工业出版社
- 出版年份:2016
- ISBN:9787111515654
- 页数:386 页
第1章 为什么会有大数据 1
1.1 什么是大数据 1
1.2 大数据技术背后的核心思想 2
1.2.1 把数据分发到多个节点 2
1.2.2 把计算逻辑移动到数据附近 3
1.2.3 计算节点进行本地数据处理 3
1.2.4 优选顺序读,次之随机读 4
1.2.5 一个例子 4
1.3 大数据的编程模型 5
1.3.1 大规模并行处理数据库系统 5
1.3.2 内存数据库系统 6
1.3.3 MapReduce系统 6
1.3.4 整体同步并行系统 8
1.4 大数据和事务性系统 8
1.5 我们能处理多大的数据量 9
1.5.1 一个计算密集型的例子 10
1.5.2 Amdhal定律 10
1.6 大数据商业用例 11
1.7 本章小结 12
第2章 Hadoop中的概念 13
2.1 Hadoop简介 13
2.2 MapReduce编程模型简介 15
2.3 Hadoop系统的组成 19
2.3.1 Hadoop分布式文件系统 20
2.3.2 辅助名称节点 25
2.3.3 任务跟踪器 26
2.3.4 作业跟踪器 26
2.4 Hadoop 2.0 27
2.4.1 容器 29
2.4.2 节点管理器 29
2.4.3 资源管理器 30
2.4.4 应用程序管理器 30
2.4.5 分步详解YARN请求 31
2.5 HDFS的高可用性 33
2.6 本章小结 33
第3章 初识Hadoop框架 34
3.1 安装类型 34
3.1.1 单机模式 35
3.1.2 伪分布式集群模式 35
3.1.3 多节点集群安装模式 35
3.1.4 基于AmazonEMR预安装模式 35
3.2 使用Cloudera虚拟机搭建开发环境 36
3.3 一个MapReduce程序的组成 37
3.4 第一个Hadoop程序 38
3.4.1 以本地模式运行程序的必要条件 39
3.4.2 使用旧API编写的单词计数程序 39
3.4.3 构建程序 42
3.4.4 在集群模式下运行单词计数程序 42
3.4.5 使用新API编写的单词计数程序 43
3.4.6 构建程序 44
3.4.7 在集群模式下运行单词计数程序 45
3.5 Hadoop作业中的第三方函数库 45
3.6 本章小结 50
第4章 Hadoop系统管理 51
4.1 Hadoop的配置文件 51
4.2 配置Hadoop守护进程 52
4.3 Hadoop配置文件的优先级 53
4.4 深入探究Hadoop配置文件 54
4.4.1 core-site.xml 54
4.4.2 hdfs-*.xml 55
4.4.3 mapred-site.xml 56
4.4.4 yarn-site.xml 58
4.4.5 YARN中的内存分配 60
4.5 调度器 61
4.5.1 计算能力调度器 62
4.5.2 公平调度器 65
4.5.3 公平调度器配置 65
4.5.4 yarn-site.xml配置 66
4.5.5 策略文件的格式和配置 67
4.5.6 按照drf策略来确定优势资源的分配 68
4.6 从属文件 69
4.7 机架感知 69
4.8 集群管理工具 71
4.8.1 检查HDFS 71
4.8.2 HDFS管理命令行 73
4.8.3 均衡HDFS上的数据分布 75
4.8.4 从HDFS中复制海量数据 76
4.9 本章小结 76
第5章 MapReduce开发基础 78
5.1 Hadoop和数据处理 78
5.2 航空公司数据集介绍 79
5.2.1 准备开发环境 80
5.2.2 准备Hadoop系统 81
5.3 MapReduce编程模式 81
5.3.1 只有Map阶段的作业(SELECT和WHERE查询) 82
5.3.2 问题定义——SELECT子句 82
5.3.3 问题定义——WHERE子句 90
5.3.4 Map和Reduce作业(聚合查询) 93
5.3.5 问题定义——GROUPBY和SUM子句 93
5.3.6 应用Combiner提高Aggregation性能 99
5.3.7 问题定义——优化后的Aggregators 99
5.3.8 Partitioner的作用 104
5.3.9 问题定义——按月分离航空数据 105
5.4 综合分析 108
5.5 本章小结 110
第6章 MapReduce开发进阶 111
6.1 MapReduce编程模式 111
6.2 Hadoop I/O介绍 111
6.3 问题定义——排序 114
6.3.1 主要挑战:全排序 115
6.3.2 在Cluster中运行Sorting作业 125
6.3.3 仅根据Writable键排序 125
6.3.4 根据排序回顾Hadoop的关键特性 128
6.4 问题定义——分析连续的记录 128
6.4.1 支持二次排序的重要组件 129
6.4.2 在没有Grouping Comparator的情况下实现Secondary Sort 136
6.4.3 在Cluster中运行Secondary Sort作业 137
6.4.4 利用Secondary Sort回顾Hadoop的关键特性 137
6.5 问题定义——使用MapReducer进行连接 138
6.5.1 处理多输入:Multiple-Inputs类 138
6.5.2 具备多个输入的Mapper类 139
6.5.3 自定义Partitioner:Carrier-CodeBasedPartioner 141
6.5.4 在Reducer中实现连接 141
6.5.5 在集群中运行MapReduce连接作业 143
6.5.6 探讨与MapReduce相关的Hadoop主要特性 144
6.6 问题定义——使用Map-Only作业进行连接 144
6.6.1 基于DistributeCache的解决方案 145
6.6.2 在集群中运行Map-Only的连接作业 147
6.6.3 总结探讨Map-Only连接时的Hadoop关键特性 149
6.7 在MR作业中保存结果到多输出文件 149
6.8 使用计数器收集统计数据 151
6.9 本章小结 153
第7章 Hadoop输入/输出 155
7.1 压缩方式 155
7.1.1 压缩内容的选择 156
7.1.2 各种压缩方式 157
7.1.3 配置压缩方式 158
7.2 Hadoop的I/O处理过程内部 159
7.2.1 Inputformat 159
7.2.2 OutputFormat 161
7.2.3 自定义OutputFormat:将文本转换成XML 161
7.2.4 自定义InputFormat:使用自定义的XML文件 165
7.3 Hadoop文件 173
7.3.1 SequenceFile 173
7.3.2 MapFiles 178
7.3.3 Avro Files 180
7.4 本章小结 185
第8章 测试Hadoop程序 186
8.1 回顾一下单词统计的程序 186
8.2 MRUnit概述 188
8.2.1 安装MRUnit 188
8.2.2 MRUnit核心类 188
8.2.3 编写一个MRUnit测试用例 189
8.2.4 测试计数器 191
8.2.5 MRUnit的特性 194
8.2.6 MRUnit的局限性 194
8.3 用LocalJobRunner测试 195
8.3.1 setUp()方法 196
8.3.2 LocalJobRunner的局限性 197
8.4 用MiniMRCluster测试 198
8.4.1 配置开发环境 198
8.4.2 MiniMRCluster例子 199
8.4.3 MiniMRCluster的局限性 201
8.5 对访问网络资源的MR作业进行测试 202
8.6 本章小结 202
第9章 Hadoop的监控 203
9.1 在Hadoop MapReduce Jobs中写日志消息 203
9.2 在Hadoop MapReduce Jobs中查看日志消息 206
9.3 在Hadoop 2.x中使用日志管理 208
9.3.1 Hadoop 2.x中的日志存储 208
9.3.2 日志管理提升 210
9.3.3 使用基于Web的界面查看日志 210
9.3.4 命令行界面 211
9.3.5 日志的保存 211
9.4 Hadoop集群性能监控 211
9.5 使用YARN REST API 212
9.6 使用供应商工具管理Hadoop集群 213
9.7 本章小结 214
第10章 使用Hadoop构建数据仓库 215
10.1 Apache Hive 215
10.1.1 安装Hive 216
10.1.2 Hive的架构 217
10.1.3 元数据存储 217
10.1.4 HiveQL编译基础 217
10.1.5 Hive使用的概念 218
10.1.6 HiveQL编译细节 222
10.1.7 数据定义语言 226
10.1.8 数据操作语言 226
10.1.9 扩展接口 227
10.1.10 Hive脚本 229
10.1.11 性能表现 229
10.1.12 整合MapReduce 230
10.1.13 创建分区 230
10.1.14 用户定义函数 232
10.2 Impala 234
10.2.1 Impala架构 234
10.2.2 Impala特性 235
10.2.3 Impala的局限 235
10.3 Shark 235
10.4 本章小结 237
第11章 使用Pig进行数据处理 238
11.1 Pig简介 238
11.2 运行Pig 240
11.2.1 在Grunt Shell中执行 241
11.2.2 执行Pig脚本 241
11.2.3 嵌入式Java程序 242
11.3 Pig Latin 243
11.3.1 Pig脚本中的注释 243
11.3.2 Pig语句的执行 243
11.3.3 Pig命令 244
11.4 UDF 249
11.4.1 Mapper中的Eval函数调用 249
11.4.2 Reducer中的Eval函数调用 250
11.4.3 编写并使用自定义Filter-Func 256
11.5 Pig与Hive对比 258
11.6 Crunch API 259
11.6.1 Crunch与Pig的区别 259
11.6.2 Crunch管道的例子 260
11.7 本章小结 265
第12章 HCatalog和企业级Hadoop 266
12.1 HCataolg和企业级数据仓库用户 266
12.2 HCatalog技术背景简介 267
12.2.1 HCatalog命令行接口 269
12.2.2 WebHCat 269
12.2.3 HCatalog的MapReduce接口 270
12.2.4 HCatalog的Pig接口 273
12.2.5 HCatalog通知接口 274
12.3 HCatalog的安全和认证机制 274
12.4 完整的解决方案 275
12.5 本章小结 275
第13章 使用Hadoop分析日志 277
13.1 日志文件分析应用 277
13.1.1 网络分析 277
13.1.2 安全规范与法务 278
13.1.3 监控和报警 279
13.1.4 物联网 279
13.2 分析步骤 280
13.2.1 载入 280
13.2.2 提取 280
13.2.3 可视化 281
13.3 Apache Flume 281
13.4 Netflix Suro 283
13.5 云解决方案 285
13.6 本章小结 285
第14章 使用HBase构建实时系统 286
14.1 HBase是什么 286
14.2 典型的HBase用例场景 287
14.3 HBase数据模型 288
14.3.1 HBase逻辑视图和客户端视图 288
14.3.2 HBase与RDBMS的区别 289
14.3.3 HBase表 290
14.3.4 HBase单元格 290
14.3.5 HBase列簇 290
14.4 HBase命令和API 291
14.4.1 获取命令列表:帮助命令 291
14.4.2 创建表:create命令 292
14.4.3 向表中加入行:put命令 293
14.4.4 从表中检索行:get命令 293
14.4.5 读取多行:scan命令 293
14.4.6 统计表中的行数:count命令 293
14.4.7 删除行:delete命令 294
14.4.8 清空表:truncate命令 294
14.4.9 删除表:drop命令 294
14.4.10 更换表:alter命令 294
14.5 HBase架构 295
14.5.1 HBase组件 295
14.5.2 HBase中的压缩与分区 302
14.5.3 压缩 303
14.6 HBase配置概览 304
14.7 HBase应用程序设计 305
14.7.1 长表vs宽表vs窄表 305
14.7.2 行键设计 306
14.8 使用Java API操作HBase 307
14.8.1 一切都是字节 307
14.8.2 创建HBase表 307
14.8.3 使用HBaseAdmin类管理HBase 308
14.8.4 使用Java API访问数据 308
14.9 HBase与MapReduce集成 312
14.9.1 使用MapReduce任务读取HBase表 312
14.9.2 HBase和MapReduce集群 315
14.10 本章小结 316
第15章 Hadoop与数据科学 317
15.1 Hadoop中的数据科学方法 318
15.2 Apache Hama 318
15.2.1 整体同步并行计算模型 318
15.2.2 Hama Hello World! 319
15.2.3 蒙特卡洛方法 321
15.2.4 K-Means聚类 324
15.3 Apache Spark 327
15.3.1 弹性分布式数据集(RDD) 327
15.3.2 Spark与蒙特卡洛算法 328
15.3.3 Spark与KMeans聚类 330
15.4 RHadoop 332
15.5 本章小结 333
第16章 Hadoop与云计算 334
16.1 经济性 334
16.1.1 自有集群 335
16.1.2 基于云平台的集群 335
16.1.3 弹性 336
16.1.4 按需付费 336
16.1.5 竞价 336
16.1.6 混合集群 336
16.2 后勤保障 337
16.2.1 导入/导出 337
16.2.2 数据保存 337
16.3 安全性 337
16.4 云端应用模型 338
16.5 云服务商 339
16.5.1 亚马逊网络服务(AWS) 339
16.5.2 谷歌云平台 341
16.5.3 微软Azure 342
16.5.4 选择云服务商 342
16.6 案例学习:AWS 342
16.6.1 EMR 343
16.6.2 EC2 345
16.7 本章小结 348
第17章 构建YARN应用程序 349
17.1 YARN:通用分布式系统 349
17.2 YARN:快速浏览 351
17.3 创建YARN应用程序 353
17.4 DownloadService.java类 354
17.5 Client.java类 356
17.5.1 从客户端启动应用管理器的步骤 356
17.5.2 创建YarnClient 357
17.5.3 配置应用程序 357
17.5.4 启动应用管理器 360
17.5.5 监控应用 360
17.6 ApplicationMaster.java 362
17.6.1 启动工作任务的步骤 363
17.6.2 初始化应用管理器协议和容器管理协议 364
17.6.3 在资源管理器中注册应用管理器 364
17.6.4 配置容器参数 364
17.6.5 向资源管理器请求容器 364
17.6.6 在任务节点上启动容器 364
17.6.7 等待容器结束工作任务 365
17.6.8 在资源管理器中注销应用管理器 365
17.7 运行应用管理器 367
17.7.1 在非托管模式中启动应用管理器 367
17.7.2 在托管模式中启动应用管理器 367
17.8 本章小结 367
附录A 安装Hadoop 369
附录B 使用Maven和Eclipse 378
附录C Apache Ambari 383
- 《深入推进自我革命》任仲文 2019
- 《行测言语理解与表达》李永新主编 2019
- 《深入浅出区块链核心技术与项目分析》梁伟 2019
- 《深入浅出Ruby 影印版》Jay McGavren 2017
- 《棘手孩子 理解孩子的天生气质》(美国)斯坦利·图雷克,莱斯利·唐纳 2019
- 《高中英语核心词汇理解性记忆》(加)林维龙,郑瑶菲编著 2019
- 《2021年考研英语(二)阅读理解精读80篇 精练篇 第13版》老蒋主编 2019
- 《理解奢侈品》王资译;(法国)亚历山大·德·圣马里 2019
- 《国际英语口音可理解性研究与语音教学》邓军 2019
- 《深入浅出设计模式》(美)埃里克·弗里曼(Eric Freeman)等著 2019
- 《SQL与关系数据库理论》(美)戴特(C.J.Date) 2019
- 《魔法销售台词》(美)埃尔默·惠勒著 2019
- 《看漫画学钢琴 技巧 3》高宁译;(日)川崎美雪 2019
- 《优势谈判 15周年经典版》(美)罗杰·道森 2018
- 《社会学与人类生活 社会问题解析 第11版》(美)James M. Henslin(詹姆斯·M. 汉斯林) 2019
- 《海明威书信集:1917-1961 下》(美)海明威(Ernest Hemingway)著;潘小松译 2019
- 《迁徙 默温自选诗集 上》(美)W.S.默温著;伽禾译 2020
- 《上帝的孤独者 下 托马斯·沃尔夫短篇小说集》(美)托马斯·沃尔夫著;刘积源译 2017
- 《巴黎永远没个完》(美)海明威著 2017
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019