注册 登录 进入教材巡展
#

出版时间:2025-08-05

出版社:机械工业出版社

以下为《Hadoop大数据开发技术》的配套数字资源,这些资源在您购买图书后将免费附送给您:
  • 机械工业出版社
  • 9787111783992
  • 1-1
  • 558604
  • 平装
  • 2025-08-05
  • 554
内容简介
本书围绕Hadoop大数据处理框架展开,旨在深入介绍Hadoop生态系统的开发技术及应用。本书内容涵盖Hadoop基础知识,MapReduce编程模型、HDFS文件系统、YARN资源管理器等关键技术,以及Hadoop集群的搭建、优化和调试方法。此外,本书还重点讲解了Hadoop生态中常用采集组件(如Sqoop、Flume等)的开发与整合技术,帮助读者全面掌握大数据处理的流程和方法。
本书将理论与实践相结合,通过丰富的案例和实例帮助读者更好地理解和运用Hadoop技术。
本书既适合作为高校数据科学与大数据技术、软件工程及相关专业的教材,也适合作为从事大数据开发与处理工作的技术人员的参考书籍。无论是初学者还是有一定经验的开发者,都能从本书中获得对Hadoop技术更深入的了解和实际操作经验,提升在实际项目中应用Hadoop技术解决实际问题的能力。
目录
前言
第1章 初识Hadoop 1
1.1 大数据概述 1
1.1.1 大数据的起源 1
1.1.2 大数据的概念 2
1.1.3 大数据的基本处理流程 4
1.1.4 大数据技术体系结构 5
1.1.5 大数据行业应用 6
1.1.6 大数据与云计算、物联网的关系 6
1.2 Hadoop起源及发展历史 8
1.2.1 Hadoop的概念 8
1.2.2 Hadoop的起源 8
1.2.3 Hadoop发展简史 9
1.3 Hadoop的设计思想和特性 9
1.3.1 Hadoop的设计思想 9
1.3.2 Hadoop的特性 9
1.4 Hadoop的体系结构 10
1.4.1 Hadoop 1.x 10
1.4.2 Hadoop 2.x 10
1.4.3 Hadoop 3.x 10
1.5 Hadoop的生态系统 11
1.6 Hadoop的发行版与下载 12
1.6.1 Apache Hadoop发行版 12
1.6.2 Cloudera 13
1.6.3 Hortonworks 13
1.6.4 FusionInsight 14
1.6.5 Hadoop版本选择依据 15
1.7 习题 15
第2章 Hadoop分布式文件系统 16
2.1 Hadoop伪分布式安装和配置 16
2.1.1 安装前准备 16
2.1.2 Hadoop安装 18
2.1.3 环境测试 21
2.2 HDFS设计思想 22
2.2.1 大数据分布式文件系统 22
2.2.2 HDFS角色 25
2.2.3 HDFS架构思想 26
2.3 Hadoop常用操作命令 27
2.3.1 目录与文件操作 27
2.3.2 本地与集群操作、集群内操作 28
2.3.3 hdfs dfsadmin命令 29
2.4 Java实现HDFS操作 30
2.4.1 HDFS连接操作 30
2.4.2 实现目录创建 31
2.4.3 实现上传文件 31
2.4.4 实现文件列表查看功能 32
2.4.5 实现目录删除 33
2.4.6 实现资源回收 34
2.5 习题 35
第3章 YARN原理与架构 36
3.1 YARN原理与组件构成 36
3.1.1 YARN概述 36
3.1.2 YARN整体架构 38
3.1.3 YARN与HDFS的关系 41
3.1.4 YARN组件工作流程 42
3.2 YARN与MapReduce V1 44
3.2.1 MapReduce V1简介 44
3.2.2 YARN对比MapReduce V1 45
3.3 YARN任务调度机制 46
3.3.1 YARN任务调度概述 46
3.3.2 YARN先进先出调度器 47
3.3.3 YARN容量调度器 47
3.3.4 YARN公平调度器 51
3.3.5 容量调度器和公平调度器的异同 53
3.4 习题 54
第4章 MapReduce初体验 55
4.1 MapReduce概述 55
4.1.1 MapReduce简介 55
4.1.2 MapReduce编程模型 60
4.1.3 MapReduce与HDFS的关系 63
4.2 Hadoop官方案例体验 65
4.2.1 Hadoop案例介绍 65
4.2.2 WordCount案例体验 66
4.2.3 WordCount案例执行流程说明 72
4.3 案例:编程实现WordCount 73
4.3.1 MapReduce编程规范 73
4.3.2 MapReduce编程实现 73
4.3.3 MapReduce程序执行 76
4.3.4 Hadoop序列化概述 77
4.4 习题 79
第5章 MapReduce应用开发 80
5.1 MapReduce编程 80
5.1.1 MapReduce应用开发概述 80
5.1.2 MapReduce应用本地测试 95
5.1.3 MapReduce应用自定义日志 100
5.1.4 MapReduce编程指南 101
5.2 MapReduce运行模式 103
5.2.1 MapReduce运行模式介绍 103
5.2.2 案例:文本词频统计应用的运行模式测试 104
5.3 MRUnit单元测试 107
5.3.1 MRUnit介绍 107
5.3.2 案例:文本词频统计应用的MRUnit单元测试 107
5.4 习题 115
第6章 MapReduce工作机制 116
6.1 MapReduce程序运行机制 116
6.1.1 作业提交 117
6.1.2 作业初始化 118
6.1.3 任务分配 118
6.1.4 任务执行 119
6.1.5 进度和状态更新 119
6.1.6 作业完成 120
6.2 MapReduce编程组件 120
6.2.1 MapReduce编程流程 120
6.2.2 InputFormat组件 122
6.2.3 Mapper组件 125
6.2.4 Shuffle组件 126
6.2.5 Reducer组件 131
6.2.6 OutputFormat组件 131
6.3 案例:MapReduce开发经典案例 132
6.3.1 案例:数据去重MapReduce程序开发 132
6.3.2 案例:计算平均值MapReduce程序开发 135
6.3.3 案例:数据排序MapReduce程序开发 140
6.4 习题 140
第7章 Hadoop的I/O操作 141
7.1 Hadoop I/O概述 141
7.1.1 Hadoop I/O操作的基本概念 141
7.1.2 Hadoop I/O操作流程 141
7.1.3 常用的InputFormat和OutputFormat 142
7.1.4 示例代码 142
7.2 数据完整性 142
7.2.1 数据完整性概述 142
7.2.2 HDFS数据完整性校验 145
7.3 MapReduce数据压缩 146
7.3.1 MapReduce数据压缩概述 146
7.3.2 编程实现数据压缩 148
7.4 序列化机制 150
7.4.1 序列化概述 150
7.4.2 常用的Hadoop序列化框架 151
7.4.3 Hadoop序列化格式Writable 152
7.5 案例:序列化编程实战 158
7.6 案例:数据完整性实战 162
7.7 案例:编程实现数据压缩 164
7.8 习题 165
第8章 MapReduce类型与格式 166
8.1 MapReduce类型 166
8.1.1 默认的MapReduce作业 166
8.1.2 验证MapReduce作业默认数据类型 168
8.1.3 显式地把作业环境参数设置为默认值 169
8.2 MapReduce输入格式 171
8.2.1 输入分片与记录 171
8.2.2 文本输入格式 173
8.2.3 二进制输入格式 177
8.2.4 多文件输入 178
8.2.5 数据库输入 179
8.3 MapReduce输出格式 181
8.3.1 输出格式分类 181
8.3.2 文本输出 182
8.3.3 二进制输出 183
8.3.4 多文件输出 185
8.3.5 延迟输出 187
8.4 案例:SequenceFileInputFormat格式文件读取 188
8.5 案例:统计结果的多文件输出 190
8.6 习题 192
第9章 MapReduce高级操作 193
9.1 计数器 193
9.1.1 计数器概述 193
9.1.2 内置计数器 194
9.1.3 自定义计数器 197
9.2 排序 199
9.2.1 排序概述 199
9.2.2 部分排序 200
9.2.3 完全排序 203
9.2.4 辅助排序 204
9.2.5 倒排索引 207
9.3 数据倾斜解决 209
9.4 连接 209
9.4.1 连接概述 209
9.4.2 Map端连接 210
9.4.3 Reduce端连接 212
9.5 边数据分布 214
9.5.1 边数据分布概述 214
9.5.2 分布式缓存 215
9.6 案例:统计缺失记录和单词质量异常 217
9.7 案例:统计分析商品和订单综合信息 220
9.8 习题 223
第10章 构建Hadoop集群 224
10.1 集群规划与设计 224
10.1.1 部署方式和配置 224
10.1.2 硬件准备 225
10.2 操作系统安装与配置 225
10.3 集群的构建和部署 227
10.3.1 集群主节点配置 227
10.3.2 集群子节点配置 237
10.3.3 启动Hadoop集群 240
10.4 集群运行和测试 241
10.4.1 测试WordCount词频统计 241
10.4.2 使用TestDFSIO来评测HDFS 242
10.5 习题 244
第11章 Hadoop集群管理 245
11.1 HDFS文件管理 245
11.1.1 永久性数据结构 245
11.1.2 安全模式 248
11.1.3 日志审计 249
11.2 集群监控 251
11.2.1 通过Web监控HDFS集群 251
11.2.2 验证文件和文件系统状态的命令 256
11.3 集群维护 258
11.3.1 规划和准备 258
11.3.2 添加集群节点 258
11.3.3 删除集群节点 259
11.3.4 常见问题处理 260
11.4 习题 262
第12章 Avro数据类型和模型 263
12.1 Avro数据类型 263
12.1.1 Avro概述 263
12.1.2 Avro复杂数据类型 264
12.2 Avro数据文件 264
12.2.1 Avro数据文件概述 264
12.2.2 Avro数据文件在大数据处理中的应用 266
12.2.3 Avro序列化和反序列化 267
12.3 Avro MapReduce编程 269
12.3.1 Avro格式转换案例 269
12.3.2 Avro MapReduce Max案例 270
12.3.3 Avro MapReduce排序案例 272
12.4 案例:实现Avro文件的序列化和反序列化 275
12.4.1 定义数据类 275
12.4.2 序列化和反序列化 276
12.4.3 运行程序 277
12.5 案例:统计分析Avro格式文件中的信息 277
12.5.1 准备数据 277
12.5.2 创建Spark应用程序 278
12.5.3 运行Spark应用程序 278
12.6 Avro的新功能和改进 279
12.7 习题 279
第13章 Parquet数据格式 280
13.1 Parquet数据类型及文件模型 280
13.1.1 Parquet文件格式 280
13.1.2 Parquet文件在磁盘上的分布 282
13.1.3 Parquet数据类型 283
13.1.4 深入解析Parquet文件Schema语法结构 284
13.1.5 Parquet的数据编码和压缩 286
13.2 Parquet文件的读写操作 286
13.2.1 Parquet文件写操作 286
13.2.2 Parquet文件读操作 288
13.3 Parquet与大数据处理框架的集成 289
13.3.1 Parquet在Apache Hadoop生态系统中的应用 289
13.3.2 Parquet与Apache Spark、Apache Hive等工具的集成 290
13.3.3 Parquet数据格式在数据湖架构中的角色 290
13.4 案例:员工平均薪水统计分析 291
13.5 案例:实现Spark对Parquet文件的分析操作 292
13.6 案例:使用Hive对Parquet文件进行统计 294
13.7 习题 295
第14章 Flume日志收集 296
14.1 Flume安装与配置 296
14.2 Flume各组件使用示例 303
14.2.1 Flume的Source组件 303
14.2.2 Flume的Channel组件 305
14.2.3 Flume的Sink组件 306
14.3 Flume采集日志示例 309
14.4 Flume和Sqoop对比 312
14.5 Flume事务与可靠性 313
14.5.1 Flume事务机制 313
14.5.2 Flume的At-least-once提交方式 314
14.5.3 Flume的批处理机制 315
14.6 Flume与应用程序集成 315
14.6.1 Flume拦截器概述 315
14.6.2 Flume拦截器分类 315
14.6.3 使用静态拦截器实现多个节点日志数据收集 316
14.6.4 自定义Flume拦截器 319
14.7 习题 321
第15章 Sqoop数据迁移 322
15.1 Sqoop概述 322
15.1.1 理解Sqoop 322
15.1.2 Sqoop架构 322
15.2 Sqoop安装与配置 323
15.2.1 安装依赖环境 323
15.2.2 Sqoop安装 324
15.2.3 Sqoop首次启用 324
15.3 Sqoop的数据迁移 325
15.3.1 导入数据到Hadoop 325
15.3.2 导出数据到关系数据库 326
15.3.3 Sqoop命令行工具详解 327
15.4 高级功能 328
15.4.1 增量导入与导出 328
15.4.2 并行导入与导出 330
15.4.3 自定义连接器 331
15.5 Sqoop性能优化 332
15.5.1 Sqoop性能调优策略 332
15.5.2 数据传输最佳实践 333
15.6 Sqoop故障排除 334
15.6.1 常见问题与解决方案 334
15.6.2 日志分析与调试技巧 335
15.7 Sqoop未来展望 336
15.7.1 Sqoop的发展趋势 336
15.7.2 Sqoop在大数据生态系统中的地位 336
15.8 习题 337
参考文献 338