Hadoop权威指南(中文第3版) PDF 高清电子书 免费下载 完整版 在线阅读- 高飞网
Hadoop权威指南

Hadoop权威指南(第3版)

中文版
Tom White
Hadoop
浏览人数:11 在读人数:1
读者:  
  准备好释放数据的强大潜能了吗?借助于这本本书,你将学习如何使用ApacheHadoop构建和维护稳定性高、伸缩性强的分布式系统。本书是为程序员写的,可帮助他们分析任何大小的数据集。本书同时也是为管理员写的,帮助他们了解如何设置和运行Hadoop集群。
  本书通过丰富的案例学习来解释Hadoop的幕后机理,阐述了Hadoop如何解决现实生活中的具体问题。第3版覆盖Hadoop的新动态,包括新增的MapReduceAPI,以及MapReduce2及其灵活性更强的执行模型(YARN)。

第1章 初识Hadoop 1    
1.1 数据!数据! 1    
1.2 数据的存储与分析 3     1
1.3 相较于其他系统的优势 4    
1.3.1 关系型数据库管理系统 5    
1.3.2 网格计算 7    
1.3.3 志愿计算 9    
1.4 Hadoop发展简史 10    
1.5 Apache Hadoop和Hadoop生态系统 14    
1.6 Hadoop的发行版本 15    
1.6.1 本书包含的内容 16    
1.6.2 兼容性 17    
第2章 关于MapReduce 19    
2.1 气象数据集 19    
2.2 使用Unix工具来分析数据 21    
2.3 使用Hadoop来分析数据 23     1
2.3.1 map和reduce 23    
2.3.2 Java MapReduce 24    
2.4 横向扩展 33     1
2.4.1 数据流 34    
2.4.2 combiner函数 37    
2.4.3 运行分布式的MapReduce作业 39    
2.5 Hadoop Streaming 40     1
2.5.1 Ruby版本 40    
2.5.2 Python版本 43    
2.6 Hadoop Pipes 44     1
第3章 Hadoop分布式文件系统 49     1
3.1 HDFS的设计 49     1
3.2 HDFS的概念 51     1
3.2.1 数据块 51    
3.2.2 namenode和datanode 52    
3.2.3 联邦HDFS 53    
3.2.4 HDFS的高可用性 54    
3.3 命令行接口 56     1
3.4 Hadoop文件系统 58    
3.5 Java接口 62    
3.5.1 从Hadoop URL读取数据 63    
3.5.2 通过FileSystem API读取数据 64    
3.5.3 写入数据 68    
3.5.4 目录 70    
3.5.5 查询文件系统 70    
3.5.6 删除数据 75    
3.6 数据流 75    
3.6.1 剖析文件读取 75    
3.6.2 剖析文件写入 78    
3.6.3 一致模型 81    
3.7 通过Flume和Sqoop导入数据 83     1
3.8 通过distcp并行复制 84    
3.9 Hadoop存档 86    
3.9.1 使用Hadoop存档工具 86    
3.9.2 不足 88    
第4章 Hadoop的I/O操作 89    
4.1 数据完整性 89    
4.1.1 HDFS的数据完整性 89    
4.1.2 LocalFileSystem 91    
4.1.3 ChecksumFileSystem 91    
4.2 压缩 92    
4.2.1 codec 93    
4.2.2 压缩和输入分片 98    
4.2.3 在MapReduce中使用压缩 99    
4.3 序列化 102    
4.3.1 Writable接口 103    
4.3.2 Writable类 105    
4.3.3 实现定制的Writable集合 114    
4.3 序列化框架 118    
4.4 Avro 121    
4.4.1 Avro数据类型和模式 122    
4.4.2 内存中的序列化和反序列化 126    
4.4.3 Avro数据文件 129    
4.4.4 互操作性 130    
4.4.5 模式的解析 133    
4.4.6 排列顺序 135    
4.4.7 关于Avro MapReduce 137    
4.4.8 使用Avro MapReduce进行排序 141    
4.4.9 其他语言的Avro MapReduce 143    
4.5 基于文件的数据结构 143    
4.5.1 关于SequenceFile 143    
4.5.2 关于MapFile 151    
第5章 MapReduce应用开发 157    
5.1 用于配置的API 157    
5.1.1 资源合并 159    
5.1.2 可变的扩展 160    
5.2 配置开发环境 160    
5.2.1 管理配置 162    
5.2.2 辅助类GenericOptionsParser,Tool和ToolRunner 165    
5.3 用MRUnit来写单元测试 168    
5.3.1 关于Mapper 168    
5.3.2 关于Reducer 170    
5.4 本地运行测试数据 171    
5.4.1 在本地作业运行器上运行作业 171    
5.4.2 测试驱动程序 175    
5.5 在集群上运行 176    
5.5.1 打包作业 177    
5.5.2 启动作业 179    
5.5.3 MapReduce的Web界面 181    
5.5.4 获取结果 184    
5.5.5 作业调试 185    
5.5.6 Hadoop日志 190    
5.5.7 远程调试 192    
5.6 作业调优 193    
5.7 MapReduce的工作流 196    
5.7.1 将问题分解成MapReduce作业 197    
5.7.2 关于JobControl 198    
5.7.3 关于Apache Oozie 199    
第6章 MapReduce的工作机制 205    
6.1 剖析MapReduce作业运行机制 205    
6.1.1 经典的MapReduce (MapReduce 1) 206    
6.1.2 YARN (MapReduce 2) 213    
6.2 失败 219    
6.2.1 经典MapReduce中的失败 219    
6.2.2 YARN中的失败 222    
6.3 作业的调度 224    
6.3.1 公平调度器 225    
6.3.2 容量调度器 225    
6.4 shuffle和排序 226    
6.4.1 map端 226    
6.4.2 reduce端 228    
6.4.3 配置调优 230    
6.5 任务的执行 232    
6.5.1 任务执行环境 232    
6.5.2 推测执行 233    
6.5.3 关于OutputCommitters 235    
6.5.4 任务JVM重用 237    
6.5.5 跳过坏记录 238    
第7章 MapReduce的类型与格式 241    
7.1 MapReduce的类型 241    
7.1.1 默认的MapReduce作业 245    
7.1.2 默认的Streaming作业 249    
7.2 输入格式 252    
7.2.1 输入分片与记录 252    
7.2.2 文本输入 264    
7.2.3 二进制输入 268    
7.2.4 多个输入 269    
7.2.5 数据库输入(和输出) 270    
7.3 输出格式 271    
7.3.1 文本输出 271    
7.3.2 二进制输出 272    
7.3.3 多个输出 272    
7.3.4 延迟输出 277    
7.3.5 数据库输出 277    
第8章 MapReduce的特性 279    
8.1 计数器 279    
8.1.1 内置计数器 279    
8.1.2 用户定义的Java计数器 284    
8.1.3 用户定义的Streaming计数器 289    
8.2 排序 289    
8.2.1 准备 290    
8.2.2 部分排序 291    
8.2.3 全排序 295    
8.2.4 辅助排序 299    
8.3 连接 305    
8.3.1 map端连接 307    
8.3.2 reduce端连接 307    
8.4 边数据分布 311    
8.4.1 利用JobConf来配置作业 311    
8.4.2 分布式缓存 311    
8.5 MapReduce库类 318    
第9章 构建Hadoop集群 321    
9.1 集群规范 321    
9.2 集群的构建和安装 325    
9.2.1 安装Java 326    
9.2.2 创建Hadoop用户 326    
9.2.3 安装Hadoop 326    
9.2.4 测试安装 327    
9.3 SSH配置 327    
9.4 Hadoop配置 328    
9.4.1 配置管理 329    
9.4.2 环境设置 332    
9.4.3 Hadoop守护进程的关键属性 336    
9.4.4 Hadoop守护进程的地址和端口 341    
9.4.5 Hadoop的其他属性 343    
9.4.6 创建用户帐号 346    
9.5 YARN配置 346    
9.5.1 YARN守护进程的重要属性 347    
9.5.2 YARN守护进程的地址和端口 350    
9.6 安全性 352    
9.6.1 Kerberos和Hadoop 353    
9.6.2 委托令牌 355    
9.6.3 其他安全性改进 356    
9.7 利用基准评测程序测试Hadoop集群 358    
9.7.1 Hadoop基准评测程序 358    
9.7.2 用户作业 361    
9.8 云端的Hadoop 361    
第10章 管理Hadoop 367    
10.1 HDFS 367    
10.1.1 永久性数据结构 367    
10.1.2 安全模式 373    
10.1.3 日志审计 375    
10.1.4 工具 375    
10.2 监控 380    
10.2.1 日志 381    
10.2.2 度量 382    
10.2.3 Java管理扩展(JMX) 385    
10.3 维护 387    
10.3.1 日常管理过程 387    
10.3.2 委任和解除节点 389    
10.3.3 升级 392    
第11章 关于Pig 397    
11.1 安装与运行Pig 398    
11.1.1 执行类型 399    
11.1.2 运行Pig程序 400    
11.1.3 Grunt 401    
11.1.4 Pig Latin编辑器 401    
11.2 示例 402    
11.3 与数据库进行比较 405    
11.4 Pig Latin 406    
11.4.1 结构 407    
11.4.2 语句 408    
11.4.3 表达式 413    
11.4.4 类型 414    
11.4.5 模式 415    
11.4.6 函数 420    
11.4.7 宏 422    
11.5 用户自定义函数 423    
11.5.1 过滤UDF 423    
11.5.2 计算UDF 427    
11.5.3 加载UDF 429    
11.6 数据处理操作 432    
11.6.1 数据的加载和存储 432    
11.6.2 数据的过滤 433    
11.6.3 数据的分组与连接 436    
11.6.4 数据的排序 441    
11.6.5 数据的组合和切分 442    
11.7 Pig实战 443    
11.7.1 并行处理 443    
11.7.2 参数代换 444    
第12章 关于Hive 447    
12.1 安装Hive 448    
12.2 示例 450    
12.3 运行Hive 451    
12.3.1 配置Hive 452    
12.3.2 Hive服务 454    
12.3.3 Metastore 456    
12.4 Hive与传统数据库相比 458    
12.4.1 读时模式vs.写时模式 458    
12.4.2 更新、事务和索引 459    
12.5 HiveQL 460    
12.5.1 数据类型 461    
12.5.2 操作与函数 463    
12.6 表 464    
12.6.1 托管表和外部表 465    
12.6.2 分区和桶 466    
12.6.3 存储格式 471    
12.6.4 导入数据 477    
12.6.5 表的修改 479    
12.6.6 表的丢弃 480    
12.7 查询数据 480    
12.7.1 排序和聚集 480    
12.7.2 MapReduce脚本 481    
12.7.3 连接 482    
12.7.4 子查询 486    
12.7.5 视图 486    
12.8 用户定义函数 488    
12.8.1 写UDF 489    
12.8.2 写UDAF 491    
第13章 关于HBase 497    
13.1 HBase基础 497    
13.2 概念 498    
13.3.1 数据模型的“旋风之旅” 498    
13.3.2 实现 500    
13.3 安装 503    
13.4 客户端 506    
13.4.1 Java 506    
13.4.2 Avro、REST和Thrift 510    
13.5 示例 511    
13.5.1 模式 511    
13.5.2 加载数据 512    
13.5.3 Web查询 516    
13.6 HBase和RDBMS的比较 519    
13.6.1 成功的服务 520    
13.6.2 HBase 521    
13.6.3 实例:HBase在Streamy.com的使用 522    
13.7 Praxis 524    
13.7.1 版本 524    
13.7.2 HDFS 525    
13.7.3 用户界面 526    
13.7.4 度量 526    
13.7.5 模式的设计 526    
13.7.6 计数器 527    
13.7.7 批量加载 528    
第14章 关于ZooKeeper 529    
14.1 安装和运行ZooKeeper 530    
14.2 示例 532    
14.2.1 ZooKeeper中的组成员关系 533    
14.2.2 创建组 534    
14.2.3 加入组 536    
14.2.4 列出组成员 537    
14.2.5 删除组 539    
14.3 ZooKeeper服务 540    
14.3.1 数据模型 540    
14.3.2 操作 543    
14.3.3 实现 548    
14.3.4 一致性 549    
14.3.5 会话 552    
14.3.6 状态 554    
14.4 使用ZooKeeper来构建应用 555    
14.4.1 配置服务 555    
14.4.2 可复原的ZooKeeper应用 559    
14.4.3 锁服务 563    
14.4.4 更多分布式数据结构和协议 565    
14.5 生产环境中的ZooKeeper 567    
14.5.1 可恢复性和性能 567    
14.5.2 配置 568    
第15章 关于Sqoop 571    
15.1 获取Sqoop 571    
15.2 Sqoop连接器 573    
15.3 一个导入的例子 573    
15.4 生成代码 577    
15.5 深入了解数据库导入 578    
15.5.1 导入控制 580    
15.5.2 导入和一致性 581    
15.5.3 直接模式导入 581    
15.6 使用导入的数据 581    
15.7 导入大对象 585    
15.8 执行导出 587    
15.9 深入了解导出功能 589    
15.9.1 导出与事务 590    
15.9.2 导出和SequenceFile 591    
第16章 实例学习 593    
16.1 Hadoop 在Last.fm的应用 593    
16.1.1 Last.fm:社会音乐史上的革命 593    
16.1.2 Hadoop在Last.fm中的应用 593    
16.1.3 用Hadoop制作图表 594    
16.1.4 Track Statistics程序 595    
16.1.5 总结 602    
16.2 Hadoop和Hive在Facebook的应用 603    
16.2.1 Hadoop在Facebook的使用 603    
16.2.2 虚构的使用样例 606    
16.2.3 Hive 609    
16.2.4 存在的问题与未来工作计划 613    
16.3 Nutch搜索引擎 615    
16.3.1 背景介绍 615    
16.3.2 数据结构 616    
16.3.3 Nutch系统利用Hadoop进行数据处理的精选实例 619    
16.3.4 总结 630    
16.4 Rackspace的日志处理 631    
16.4.1 要求/问题 631    
16.4.2 简史 632    
16.4.3 选择Hadoop 632    
16.4.4 收集和存储 632    
16.4.5 对日志的MapReduce处理 634    
16.5 关于Cascading 640    
16.5.1 字段、元组和管道 641    
16.5.2 操作 644    
16.5.3 Tap、Scheme和Flow 645    
16.5.4 Cascading实战 646    
16.5.5 灵活性 650    
16.5.6 Hadoop和Cascading在ShareThis的应用 650    
16.5.7 总结 655    
16.6 Apache Hadoop上万亿数量级排序 655    
16.7 用Pig和Wukong探索10亿数量级边的网络图 659    
16.7.1 社区判断 661    
16.7.2 每个人都在和我说话:Twitter回复关系图 661    
16.7.3 对称链接 664    
16.7.4 社区提取 666    
附录A 安装Apache Hadoop 669     1
附录B 关于CDH 675    
附录C 准备NCDC气象数据 677   
看过本书的人还看过