Hadoop 权威指南 第四版 中文目录

封面  1
书名  2
前言  10
目录  19
第Ⅰ部分 Hadoop基础知识
第1章 初识Hadoop  27
    1.1 数据!数据!  27
    1.2 数据的存储与分析  29
    1.3 查询所有数据  30
    1.4 不仅仅是批处理  31
    1.5 相较于其他系统的优势  32
        1.5.1 关系型数据库管理系统  32
        1.5.2 网格计算  34
        1.5.3 志愿计算  35
    1.6 Apache Hadoop发展简史  36
    1.7 本书包含的内容  40
第2章 关于MapReduce  43
    2.1 气象数据集  43
    2.2 使用Unix工具来分析数据  45
    2.3 使用Hadoop来分析数据  46
        2.3.1 map和reduce  47
        2.3.2 Java MapReduce  48
    2.4 横向扩展  55
        2.4.1 数据流  55
        2.4.2 biner函数  59
        2.4.3 运行分布式的MapReduce作业  61
    2.5 Hadoop Streaming  61
        2.5.1 Ruby版本  62
        2.5.2 Python版本  64
第3章 Hadoop分布式文件系统  66
    3.1 HDFS的设计  66
    3.2 HDFS的概念  68
        3.2.1 数据块  68
        3.2.2 namenode和datanode  69
        3.2.3 块缓存  70
        3.2.4 联邦HDFS  71
        3.2.5 HDFS的高可用性  71
    3.3 命令行接口  74
    3.4 Hadoop文件系统  76
    3.5 Java接口  80
        3.5.1 从Hadoop URL读取数据  80
        3.5.2 通过FileSystem API读取数据  82
        3.5.3 写入数据  85
        3.5.4 目录  87
        3.5.5 查询文件系统  87
        3.5.6 删除数据  92
    3.6 数据流  92
        3.6.1 剖析文件读取  92
        3.6.2 剖析文件写入  95
        3.6.3 一致模型  98
    3.7 通过distcp并行复制  100
第4章 关于YARN  102
    4.1 剖析YARN应用运行机制  103
        4.1.1 资源请求  104
        4.1.2 应用生命期  105
        4.1.3 构建YARN应用  105
    4.2 YARN与MapReduce 1相比  106
    4.3 YARN中的调度  109
        4.3.1 调度选项  109
        4.3.2 容量调度器配置  111
        4.3.3 公平调度器配置  113
        4.3.5 延迟调度  117
        4.3.5 主导资源公平性  118
    4.4 延伸阅读  119
第5章 Hadoop的I/O操作  120
    5.1 数据完整性  120
        5.1.1 HDFS的数据完整性  121
        5.1.2 LocalFileSystem  122
        5.1.3 ChecksumFileSystem  122
    5.2 压缩  123
        5.2.1 codec  124
        5.2.2 压缩和输入分片  129
        5.2.3 在MapReduce中使用压缩  130
    5.3 序列化  133
        5.3.1 Writable接口  134
        5.3.2 Writable类  136
        5.3.3 实现定制的Writable集合  145
        5.3.4 序列化框架  149
    5.4 基于文件的数据结构  151
        5.4.1 关于SequenceFile  151
        5.4.2 关于MapFile  159
        5.4.3 其他文件格式和面向列的格式  160
第Ⅱ部分 关于MapReduce
第6章 MapReduce应用开发  165
    6.1 用于配置的API  166
        6.1.1 资源合并  167
        6.1.2 变量扩展  168
    6.2 配置开发环境  168
        6.2.1 管理配置  170
        6.2.2 辅助类GenericOptionsParser,Tool和ToolRunner  173
    6.3 用MRUnit来写单元测试  176
        6.3.1 关于Mapper  176
        6.3.2 关于Reducer  180
    6.4 本地运行测试数据  180
        6.4.1 在本地作业运行器上运行作业  180
        6.4.2 测试驱动程序  182
    6.5 在集群上运行  184
        6.5.1 打包作业  184
        6.5.2 启动作业  186
        6.5.3 MapReduce的Web界面  189
        6.5.4 获取结果  191
        6.5.5 作业调试  192
        6.5.6 Hadoop日志  195
        6.5.7 远程调试  197
    6.6 作业调优  198
    6.7 MapReduce的工作流  200
        6.7.1 将问题分解成MapReduce作业  201
        6.7.2 关于JobControl  202
        6.7.3 关于Apache Oozie  203
第7章 MapReduce的工作机制  208
    7.1 剖析MapReduce作业运行机制  208
        7.1.1 作业的提交  209
        7.1.2 作业的初始化  210
        7.1.3 任务的分配  211
        7.1.4 任务的执行  212
        7.1.5 进度和状态的更新  213
        7.1.6 作业的完成  215
    7.2 失败  215
        7.2.1 任务运行失败  215
        7.2.2 application master运行失败  217
        7.2.3 节点管理器运行失败  217
        7.2.4 资源管理器运行失败  218
    7.3 shuffle和排序  219
        7.3.1 map端  219
        7.3.2 reduce端  221
        7.3.3 配置调优  223
    7.4 任务的执行  225
        7.4.1 任务执行环境  225
        7.4.2 推测执行  226
        7.4.3 关于OutputCommitters  228
第8章 MapReduce的类型与格式  231
    8.1 MapReduce的类型  231
        8.1.1 默认的MapReduce作业  236
        8.1.2 默认的Streaming作业  240
    8.2 输入格式  242
        8.2.1 输入分片与记录  242
        8.2.2 文本输入  253
        8.2.3 二进制输入  257
        8.2.4 多个输入  258
        8.2.5 数据库输入(和输出)  259
    8.3 输出格式  260
        8.3.1 文本输出  260
        8.3.2 二进制输出  261
        8.3.3 多个输出  261
        8.3.4 延迟输出  266
        8.3.5 数据库输出  266
第9章 MapReduce的特性  267
    9.1 计数器  267
        9.1.1 内置计数器  267
        9.1.2 用户定义的Java计数器  272
        9.1.3 用户定义的Streaming计数器  275
    9.2 排序  276
        9.2.1 准备  276
        9.2.2 部分排序  277
        9.2.3 全排序  279
        9.2.4 辅助排序  283
    9.3 连接  288
        9.3.1 map端连接  290
        9.3.2 reduce端连接  290
    9.4 边数据分布  294
        9.4.1 利用JobConf来配置作业  294
        9.4.2 分布式缓存  294
    9.5 MapReduce库类  300
第Ⅲ部分 Hadoop的操作
第10章 构建Hadoop集群  303
    10.1 集群规范  304
        10.1.1 集群规模  305
        10.1.2 网络拓扑  306
    10.2 集群的构建和安装  308
        10.2.1 安装Java  308
        10.2.2 创建Unix 用户账号  308
        10.2.3 安装Hadoop  308
        10.2.4 SSH配置  309
        10.2.5 配置Hadoop  310
        10.2.6 格式化HDFS 文件系统  310
        10.2.7 启动和停止守护进程  310
        10.2.8 创建用户目录  312
    10.3 Hadoop配置  312
        10.3.1 配置管理  313
        10.3.2 环境设置  314
        10.3.3 Hadoop守护进程的关键属性  317
        10.3.4 Hadoop守护进程的地址和端口  324
        10.3.5 Hadoop的其他属性  327
    10.4 安全性  329
        10.4.1 Kerberos和Hadoop  330
        10.4.2 委托令牌  332
        10.4.3 其他安全性改进  333
    10.5 利用基准评测程序测试Hadoop集群  335
        10.5.1 Hadoop基准评测程序  335
        10.5.2 用户作业  337
第11章 管理Hadoop  338
    11.1 HDFS  338
        11.1.1 永久性数据结构  338
        11.1.2 安全模式  344
        11.1.3 日志审计  346
        11.1.4 工具  346
    11.2 监控  351
        11.2.1 日志  351
        11.2.2 度量和JMX(Java管理扩展)  352
    11.3 维护  353
        11.3.1 日常管理过程  353
        11.3.2 委任和解除节点  355
        11.3.3 升级  358
第Ⅳ部分 Hadoop相关开源项目
第12章 关于Avro  365
    12.1 Avro数据类型和模式  366
    12.2 内存中的序列化和反序列化特定API  371
    12.3 Avro数据文件  373
    12.4 互操作性  375
        12.4.1 Python API  375
        12.4.2 Avro工具集  376
    12.5 模式解析  376
    12.6 排列顺序  378
    12.7 关于Avro MapReduce  380
    12.8 使用Avro MapReduce进行排序  383
    12.9 其他语言的Avro  386
第13章 关于Parquet  387
    13.1 数据模型  388
    13.2 Parquet文件格式  391
    13.3 Parquet的配置  392
    13.4 Parquet文件的读/写  393
        13.4.1 Avro、Protocol Buffers和Thrift  395
        13.4.2 投影模式和读取模式  397
    13.5 Parquet MapReduce  398
第14章 关于Flume  401
    14.1 安装Flume  402
    14.2 示例  402
    14.3 事务和可靠性  404
    14.4 HDFS Sink  406
    14.5 扇出  409
        14.5.1 交付保证  410
        14.5.2 复制和复用选择器  411
    14.6 通过代理层分发  411
    14.7 Sink组  415
    14.8 Flume与应用程序的集成  419
    14.9 组件编目  419
    14.10 延伸阅读  421
第15章 关于Sqoop  422
    15.1 获取Sqoop  422
    15.2 Sqoop连接器  424
    15.3 一个导入的例子  425
    15.4 生成代码  428
    15.5 深入了解数据库导入  429
        15.5.1 导入控制  431
        15.5.2 导入和一致性  432
        15.5.3 增量导入  432
        15.5.4 直接模式导入  432
    15.6 使用导入的数据  433
    15.7 导入大对象  436
    15.8 执行导出  438
    15.9 深入了解导出功能  440
        15.9.1 导出与事务  441
        15.9.2 导出和SequenceFile  442
    15.10 延伸阅读  443
第16章 关于Pig  444
    16.1 安装与运行Pig  445
        16.1.1 执行类型  446
        16.1.2 运行Pig程序  447
        16.1.3 Grunt  448
        16.1.4 Pig Latin编辑器  448
    16.2 示例  449
    16.3 与数据库进行比较  452
    16.4 PigLatin  453
        16.4.1 结构  454
        16.4.2 语句  455
        16.4.3 表达式  460
        16.4.4 类型  461
        16.4.5 模式  462
        16.4.6 函数  467
        16.4.7 宏  469
    16.5 用户自定义函数  470
        16.5.1 过滤UDF  471
        16.5.2 计算UDF  474
        16.5.3 加载UDF  476
    16.6 数据处理操作  479
        16.6.1 数据的加载和存储  479
        16.6.2 数据的过滤  479
        16.6.3 数据的分组与连接  482
        16.6.4 数据的排序  487
        16.6.5 数据的组合和切分  489
    16.7 Pig实战  489
        16.7.1 并行处理  489
        16.7.2 匿名关系  490
        16.7.3 参数代换  491
    16.8 延伸阅读  492
第17章 关于Hive  493
    17.1 安装Hive  494
          Hive的shell环境  495
    17.2 示例  496
    17.3 运行Hive  497
        17.3.1 配置Hive  497
        17.3.2 Hive服务  500
        17.3.3 Metastore  502
    17.4 Hive与传统数据库相比  504
        17.4.1 读时模式vs.写时模式  504
        17.4.2 更新、事务和索引  505
        17.4.3 其他SQL—on—Hadoop技术  506
    17.5 HiveQL  507
        17.5.1 数据类型  508
        17.5.2 操作与函数  511
    17.6 表  512
        17.6.1 托管表和外部表  512
        17.6.2 分区和桶  514
        17.6.3 存储格式  518
        17.6.4 导入数据  522
        17.6.5 表的修改  524
        17.6.6 表的丢弃  525
    17.7 查询数据  525
        17.7.1 排序和聚集  525
        17.7.2 MapReduce脚本  526
        17.7.3 连接  527
        17.7.4 子查询  530
        17.7.5 视图  531
    17.8 用户定义函数  532
        17.8.1 写UDF  534
        17.8.2 写UDAF  536
    17.9 延伸阅读  540
第18章 关于Crunch  541
    18.1 示例  542
    18.2 Crunch核心API  545
        18.2.1 基本操作  546
        18.2.2 类型  551
        18.2.3 源和目标  554
        18.2.4 函数  556
        18.2.5 物化  559
    18.3 管线执行  561
        18.3.1 运行管线  562
        18.3.2 停止管线  563
        18.3.3 查看Crunch计划  564
        18.3.4 迭代算法  567
        18.3.5 给管线设置检查点  568
    18.4 Crunch库  569
    18.5 延伸阅读  571
第19章 关于Spark  572
    19.1 安装Spark  573
    19.2 示例  573
        19.2.1 Spark应用、作业、阶段和任务  575
        19.2.2 Scala独立应用  576
        19.2.3 Java示例  577
        19.2.4 Python示例  578
    19.3 弹性分布式数据集  579
        19.3.1 创建  579
        19.3.2 转换和动作  581
        19.3.3 持久化  585
        19.3.4 序列化  587
    19.4 共享变量  588
        19.4.1 广播变量  588
        19.4.2 累加器  589
    19.5 剖析Spark作业运行机制  589
        19.5.1 作业提交  590
        19.5.2 DAG的构建  590
        19.5.3 任务调度  593
        19.5.4 任务执行  594
    19.6 执行器和集群管理器  594
    19.7 延伸阅读  598
第20章 关于HBase  599
    20.1 HBase基础  599
    20.2 概念  600
        20.2.1 数据模型的“旋风之旅”  600
        20.2.2 实现  602
    20.3 安装  605
    20.4 客户端  608
        20.4.1 Java  608
        20.4.2 MapReduce  612
        20.4.3 REST和Thrift  613
    20.5 创建在线查询应用  613
        20.5.1 模式设计  614
        20.5.2 加载数据  615
        20.5.3 在线查询  619
    20.6 HBase和RDBMS的比较  622
        20.6.1 成功的服务  623
        20.6.2 HBase  624
    20.7 Praxis  625
        20.7.1 HDFS  625
        20.7.2 用户界面  626
        20.7.3 度量  626
        20.7.4 计数器  626
    20.8 延伸阅读  626
第21章 关于ZooKeeper  628
    21.1 安装和运行ZooKeeper  629
    21.2 示例  631
        21.2.1 ZooKeeper中的组成员关系  632
        21.2.2 创建组  632
        21.2.3 加入组  635
        21.2.4 列出组成员  636
        21.2.5 删除组  638
    21.3 ZooKeeper服务  639
        21.3.1 数据模型  639
        21.3.2 操作  642
        21.3.3 实现  646
        21.3.4 一致性  648
        21.3.5 会话  650
        21.3.6 状态  652
    21.4 使用ZooKeeper来构建应用  653
        21.4.1 配置服务  653
        21.4.2 可复原的ZooKeeper应用  657
        21.4.3 锁服务  661
        21.4.4 更多分布式数据结构和协议  663
    21.5 生产环境中的ZooKeeper  664
        21.5.1 可恢复性和性能  665
        21.5.2 配置  666
    21.6 延伸阅读  667
第Ⅴ部分 案例学习
第22章 医疗公司塞纳(Cerner)的可聚合数据  671
    22.1 从多CPU到语义集成  671
    22.2 进入Apache Crunch  672
    22.3 建立全貌  673
    22.4 集成健康医疗数据  675
    22.5 框架之上的可组合性  678
    22.6 下一步  679
第23章 生物数据科学:用软件拯救生命  681
    23.1 DNA的结构  683
    23.2 遗传密码:将DNA字符转译为蛋白质  684
    22.3 将DNA想象成源代码  685
    23.4 人类基因组计划和参考基因组  687
    22.5 DNA测序和比对  688
    23.6 ADAM,一个可扩展的基因组分析平台  690
    23.7 使用Avro接口描述语言进行自然语言编程  690
    23.8 使用Parquet进行面向列的存取  692
    23.9 一个简单例子:用Spark和ADAM做k—mer计数  693
    23.10 从个性化广告到个性化医疗  696
    23.11 联系我们  697
第24章 开源项目Cascading  698
    24.1 字段、元组和管道  699
    24.2 操作  702
    24.3 Taps,Schemes和Flows  704
    24.4 Cascading实践应用  705
    24.5 灵活性  708
    24.6 ShareThis中的Hadoop和Cascading  709
    24.7 总结  713
附录A 安装Apache Hadoop  715
附录B 关于CDH  721
附录C 准备NCDC气象数据  723

附录D 新版和旧版JavaMapReduce API  726

java : pdfbox 读取 PDF文件内书签
https://blog.csdn.net/belldeep/article/details/80147034

猜你喜欢

转载自blog.csdn.net/belldeep/article/details/80212950
今日推荐