全新正版书籍,24小时发货,可开发票。
¥ 77 5.2折 ¥ 148 全新
库存105件
作者Tom White著 王海,华东,刘喻,吕粤海 译
出版社清华大学出版社
ISBN9787302465133
出版时间2017-07
装帧平装
开本16开
定价148元
货号25101651
上书时间2024-11-24
数学科普作家马丁·(Martin Gardner)
“在我的世界里,只有微积分。这是我的专栏取得成功的奥秘。我花了很多时间才明白如何以大多数读者都能明白的方式将自己所知道的东西娓娓道来。”
这也是我对Hadoop的诸多感受。它的内部工作机制非常复杂,是一个集分布式系统理论、实际工程和常识于一体的系统。而且,对门外汉而言,Hadoop“天外来客”。
Hadoopadoop(
这样一个简单、通用的特性集,促使我在开始使用Hadoop时便明显感觉到Hadoop(2006)HadoopHadoop
Apache Hadoop1Hadoop“大数据”已成为大家耳熟能详的名词术语。HadoopHadoop,我认为我们要让Hadoop更好用。这需要创建更多新的工具,集成更多的系统,创建新的增强型API。我希望自己能够参与,同时也希望本书能够鼓励并吸引其他人也参与Hadoop项目。
本书结合理论和实践,由浅入深,全方位介绍了Hadoop这一高性能的海量数据处理和分析平台。全书5部分24章,第Ⅰ部分介绍Hadoop基础知识,主题涉及Hadoop、MapReduce、Hadoop分布式文件系统、YARN、Hadoop的I/O操作。第Ⅱ部分介绍MapReduce,主题包括MapReduce应用开发;MapReduce的工作机制、MapReduce的类型与格式、MapReduce的特性。第Ⅲ部分介绍Hadoop的运维,主题涉及构建Hadoop集群、管理Hadoop。第Ⅳ部分介绍Hadoop相关开源项目,主题涉及Avro、Parquet、Flume、Sqoop、Pig、Hive、Crunch、Spark、HBase、ZooKeeper。第Ⅴ部分提供了三个案例,分别来自医疗卫生信息技术服务商塞纳(Cerner)、微软的人工智能项目ADAM(一种大规模分布式深度学习框架)和开源项目Cascading(一个新的针对MapReduce的数据处理API)。 本书是一本权威、全面的Hadoop参考书和工具书,阐述了Hadoop生态圈的*发展和应用,程序员可以从中探索海量数据集的存储和分析,管理员可以从中了解Hadoop集群的安装和运维。
作者简介
Tom White是杰出的Hadoop专家之一。自2007年2月以来,Tom White一直是Apache Hadoop的提交者(committer),也是Apache软件基金会的成员。Tom是Cloudera的软件工程师,他是Cloudera的首批员工,对Apache和Cloudera做出了举足轻重的贡献。在此之前,他是一名独立的Hadoop顾问,帮助公司搭建、使用和扩展Hadoop。他是很多行业大会的专题演讲人,比如ApacheCon、OSCON和Strata。Tom在英国剑桥大学获得数学学士学位,在利兹大学获得科学哲学硕士学位。他目前与家人居住在威尔士。
译者简介
王海博士,解放军理工大学通信工程学院教授,博导,教研中心主任,长期从事无线自组网网络的设计与研发工作,主持国家自然科学基金、国家863计划课题等多项*课题,近5年获军队科技进步二等奖1项,三等奖6项,作为发明人申请国家发明专利十余项,发表学术论文50余篇。
华东博士,现任南京医科大学计算机教研室教师,一直致力于计算机辅助教学的相关技术研究,陆续开发了人体解剖学网络自主学习考试平台、诊断学自主学习平台和面向执业医师考试的预约化考试平台等系统,并在各个学科得到广泛的使用,获得全国高等学校计算机课件评比一等奖和三等奖各一项。主编、副主编教材两部,获发明专利一项、软件著作权多项。
刘喻博士,长期从事软件开发、软件测试和软件工程化管理工作,目前任教于清华大学软件所。
吕粤海,长期从事军事通信网络技术研究与软件开发工作,先后通过华为光网络高级工程师认证、思科网络工程师认证。
Ⅰ部分 Hadoop基础知识
第1 Hadoop 3
1.1 数据!数据! 3
1.2 数据的存储与分析 5
1.3 查询所有数据 6
1.4 不仅仅是批处理 7
1.5 相较于其他系统的优势 8
1.5.1 关系型数据库管理系统 8
1.5.2 网格计算 10
1.5.3 志愿计算 11
1.6 Apache Hadoop发展简史 12
1.7 本书包含的内容 16
第2 MapReduce 19
2.1 气象数据集 19
2.2 使用Unix工具来分析数据 21
2.3 使用Hadoop来分析数据 22
2.3.1 map和reduce 23
2.3.2 Java MapReduce 24
2.4 横向扩展 31
2.4.1 数据流 31
2.4.2 combiner函数 35
2.4.3 运行分布式的
MapReduce作业 37
2.5 Hadoop Streaming 37
2.5.1 Ruby版本 38
2.5.2 Python版本 40
第3 Hadoop分布式文件系统 42
3.1 HDFS的设计 42
3.2 HDFS的概念 44
3.2.1 数据块 44
3.2.2 namenode和datanode 45
3.2.3 块缓存 46
3.2.4 联邦HDFS 47
3.2.5 HDFS的高可用性 47
3.3 命令行接口 50
3.4 Hadoop文件系统 52
3.5 Java接口 56
3.5.1 从Hadoop URL读取
数据 56
3.5.2 通过FileSystem API
读取数据 58
3.5.3 写入数据 61
3.5.4 目录 63
3.5.5 查询文件系统 63
3.5.6 删除数据 68
3.6 数据流 68
3.6.1 剖析文件读取 68
3.6.2 剖析文件写入 71
3.6.3 一致模型 74
3.7 通过distcp并行复制 76
第4 YARN 78
4.1 剖析YARN应用运行机制 79
4.1.1 资源请求 80
4.1.2 应用生命期 81
4.1.3 构建YARN应用 81
4.2 YARN与MapReduce 1相比 82
4.3 YARN中的调度 85
4.3.1 调度选项 85
4.3.2 容量调度器配置 87
4.3.3 公平调度器配置 89
4.3.5 延迟调度 93
4.3.5 主导资源公平性 94
4.4 延伸阅读 95
第5 Hadoop的I/O操作 96
5.1 数据完整性 96
5.1.1 HDFS的数据完整性 97
5.1.2 LocalFileSystem 98
5.1.3 ChecksumFileSystem 98
5.2 压缩 99
5.2.1 codec 100
5.2.2 压缩和输入分片 105
5.2.3 在MapReduce中使用
压缩 106
5.3 序列化 109
5.3.1 Writable接口 110
5.3.2 Writable类 112
5.3.3 实现定制的Writable
集合 121
5.3.4 序列化框架 125
5.4 基于文件的数据结构 127
5.4.1 关于SequenceFile 127
5.4.2 关于MapFile 135
5.4.3 其他文件格式和
面向列的格式 136
Ⅱ部分 关于MapReduce
第6 MapReduce应用开发 141
6.1 用于配置的API 142
6.1.1 资源合并 143
6.1.2 变量扩展 144
6.2 配置开发环境 144
6.2.1 管理配置 146
6.2.2 辅助类GenericOptionsParser,
Tool和ToolRunner 149
6.3 用MRUnit来写单元测试 152
6.3.1 关于Mapper 152
6.3.2 关于Reducer 156
6.4 本地运行测试数据 156
6.4.1 在本地作业运行器上
运行作业 156
6.4.2 测试驱动程序 158
6.5 在集群上运行 160
6.5.1 打包作业 160
6.5.2 启动作业 162
6.5.3 MapReduce的Web
界面 165
6.5.4 获取结果 167
6.5.5 作业调试 168
6.5.6 Hadoop日志 171
6.5.7 远程调试 173
6.6 作业调优 174
6.7 MapReduce的工作流 176
6.7.1 将问题分解成
MapReduce作业 177
6.7.2 关于JobControl 178
6.7.3 关于Apache Oozie 179
第7 MapReduce的工作机制 184
7.1 剖析MapReduce作业运行
机制 184
7.1.1 作业的提交 185
7.1.2 作业的初始化 186
7.1.3 任务的分配 187
7.1.4 任务的执行 188
7.1.5 进度和状态的更新 189
7.1.6 作业的完成 191
7.2 失败 191
7.2.1 任务运行失败 191
7.2.2 application master
运行失败 193
7.2.3 节点管理器运行失败 193
7.2.4 资源管理器运行失败 194
7.3 shuffle和排序 195
7.3.1 map端 195
7.3.2 reduce端 197
7.3.3 配置调优 199
7.4 任务的执行 201
7.4.1 任务执行环境 201
7.4.2 推测执行 202
7.4.3 关于
OutputCommitters 204
第8 MapReduce的
类型与格式 207
8.1 MapReduce的类型 207
8.1.1 默认的MapReduce
作业 212
8.1.2 默认的Streaming
作业 216
8.2 输入格式 218
8.2.1 输入分片与记录 218
8.2.2 文本输入 229
8.2.3 二进制输入 233
8.2.4 多个输入 234
8.2.5 数据库输入(和输出) 235
8.3 输出格式 236
8.3.1 文本输出 236
8.3.2 二进制输出 237
8.3.3 多个输出 237
8.3.4 延迟输出 242
8.3.5 数据库输出 242
第9 MapReduce的特性 243
9.1 计数器 243
9.1.1 内置计数器 243
9.1.2 用户定义的Java
计数器 248
9.1.3 用户定义的Streaming
计数器 251
9.2 排序 252
9.2.1 准备 252
9.2.2 部分排序 253
9.2.3 全排序 255
9.2.4 辅助排序 259
9.3 连接 264
9.3.1 map端连接 266
9.3.2 reduce端连接 266
9.4 边数据分布 270
9.4.1 利用JobConf来配置
作业 270
9.4.2 分布式缓存 270
9.5 MapReduce库类 276
Ⅲ部分 Hadoop的操作
第10 Hadoop集群 279
10.1 集群规范 280
10.1.1 集群规模 281
10.1.2 网络拓扑 282
— 没有更多了 —
以下为对购买帮助不大的评价