Hadoop权威指南大数据的存储与分析 第4版
第Ⅰ部分Hadoop基础知识 第1章初识Hadoop3 1.1数据!数据!3 1.2数据的存储与分析5 1.3查询所有数据6 1.4不仅仅是批处理7 1.5相较于其他系统的优势8 1.6ApacheHadoop发展简史12 1.7本书包含的内容16 第2章关于MapReduce19 2.1气象数据集19 2.2使用Unix工具来分析数据21 2.3使用Hadoop来分析数据22 2.4横向扩展31 2.5HadoopStreaming37 第3章Hadoop分布式文件系统42 3.1HDFS的设计42 3.2HDFS的概念44 3.3命令行接口50 3.4Hadoop文件系统52 3.5Java接口56 3.6数据流68 3.7通过distcp并行复制76 第4章关于YARN78 4.1剖析YARN应用运行机制79 4.2YARN与MapReduce1相比82 4.3YARN中的调度85 4.4延伸阅读95 第5章Hadoop的I/O操作96 5.1数据完整性96 5.2压缩99 5.3序列化109 5.4基于文件的数据结构127 第Ⅱ部分关于MapReduce 第6章MapReduce应用开发141 6.1用于配置的API142 6.2配置开发环境144 6.3用MRUnit来写单元测试152 6.4本地运行测试数据156 6.5在集群上运行160 6.6作业调优174 6.7MapReduce的工作流176 第7章MapReduce的工作机制184 7.1剖析MapReduce作业运行 机制184 7.2失败191 7.3shuffle和排序195 7.4任务的执行201 第8章MapReduce的 类型与格式207 8.1MapReduce的类型207 8.2输入格式218 8.3输出格式236 第9章MapReduce的特性243 9.1计数器243 9.2排序252 9.3连接264 9.4边数据分布270 9.5MapReduce库类276 第Ⅲ部分Hadoop的操作 第10章构建Hadoop集群279 10.1集群规范280 10.2集群的构建和安装284 10.3Hadoop配置288 10.4安全性305 10.5利用基准评测程序测试 Hadoop集群311 第11章管理Hadoop314 11.1HDFS314 11.2监控327 11.3维护329 第Ⅳ部分Hadoop相关开源项目 第12章关于Avro341 12.1Avro数据类型和模式342 12.2内存中的序列化和 反序列化特定API347 12.3Avro数据文件349 12.4互操作性351 12.5模式解析352 12.6排列顺序354 12.7关于AvroMapReduce356 12.8使用AvroMapReduce 进行排序359 12.9其他语言的Avro362 第13章关于Parquet363 13.1数据模型364 13.2Parquet文件格式367 13.3Parquet的配置368 13.4Parquet文件的读/写369 13.5ParquetMapReduce374 第14章关于Flume377 14.1安装Flume378 14.2示例378 14.3事务和可靠性380 14.4HDFSSink382 14.5扇出385 14.6通过代理层分发387 14.7Sink组391 14.8Flume与应用程序的集成395 14.9组件编目395 14.10延伸阅读397 第15章关于Sqoop398 15.1获取Sqoop398 15.2Sqoop连接器400 15.3一个导入的例子401 15.4生成代码404 15.5深入了解数据库导入405 15.6使用导入的数据409 15.7导入大对象412 15.8执行导出414 15.9深入了解导出功能416 15.10延伸阅读419 第16章关于Pig420 16.1安装与运行Pig421 16.2示例425 16.3与数据库进行比较428 16.4PigLatin429 16.5用户自定义函数446 16.6数据处理操作455 16.7Pig实战465 16.8延伸阅读468 第17章关于Hive469 17.1安装Hive470 17.2示例472 17.3运行Hive473 17.4Hive与传统数据库相比480 17.5HiveQL483 17.6表488 17.7查询数据501 17.8用户定义函数508 17.9延伸阅读516 第18章关于Crunch517 18.1示例518 18.2Crunch核心API521 18.3管线执行537 18.4Crunch库545 18.5延伸阅读547 第19章关于Spark548 19.1安装Spark549 19.2示例549 19.3弹性分布式数据集555 19.4共享变量564 19.5剖析Spark作业运行机制565 19.6执行器和集群管理器570 19.7延伸阅读574 第20章关于HBase575 20.1HBase基础575 20.2概念576 20.3安装581 20.4客户端584 20.5创建在线查询应用589 20.6HBase和RDBMS的比较598 20.7Praxis601 20.8延伸阅读602 第21章关于ZooKeeper604 21.1安装和运行ZooKeeper605 21.2示例607 21.3ZooKeeper服务615 21.4使用ZooKeeper来构建 应用629 21.5生产环境中的ZooKeeper640 21.6延伸阅读643 第Ⅴ部分案例学习 第22章医疗公司塞纳(Cerner) 的可聚合数据647 22.1从多CPU到语义集成647 22.2进入ApacheCrunch648 22.3建立全貌649 22.4集成健康医疗数据651 22.5框架之上的可组合性654 22.6下一步655 第23章生物数据科学: 用软件拯救生命657 23.1DNA的结构659 23.2遗传密码:将DNA字符 转译为蛋白质660 22.3将DNA想象成源代码661 23.4人类基因组计划和参考 基因组663 22.5DNA测序和比对664 23.6ADAM,一个可扩展的 基因组分析平台666 23.7使用Avro接口描述语言进行 自然语言编程666 23.8使用Parquet进行面向列的 存取668 23.9一个简单例子:用Spark和 ADAM做k-mer计数669 23.10从个性化广告到个性化 医疗672 23.11联系我们673 第24章开源项目Cascading674 24.1字段、元组和管道675 24.2操作678 24.3Taps,Schemes和Flows680 24.4Cascading实践应用681 24.5灵活性684 24.6ShareThis中的Hadoop和 Cascading685 24.7总结689 附录A安装ApacheHadoop691 附录B关于CDH697 附录C准备NCDC气象数据699 附录D新版和旧版Java MapReduceAPI702