《Hadoop 权威指南 第4版》中文版PDF教程下载

hadoop | 2019-11-04 09:08:19

 

《Hadoop 权威指南 第4版》书籍介绍

1.png

《Hadoop 权威指南 第4版》目录

封面                                                                            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

 

 

下载地址:
《Hadoop 权威指南 第4版》中文版PDF教程下载

扫描关注 -> 回复 477 -> 获取下载链接

注意:本电子书来源于网络,仅供参考预览了解本书,喜欢的请购买正版书籍。如有侵权,请联系我们,快速删除。
登录后即可回复 登录 | 注册
    
关注编程学问公众号