0


Hadoop入门与实践
作者:史继峰,杜海峰,陈福林丛书名: ISBN:978-7-5685-6143-3页数:0 开本:16开装帧:平装 出版时间:2026-08-01中图分类:TP274
¥59.80

编辑推荐

本书以理论够用、实践为重为原则,采用项目式教学与实战应用相结合的编写思路。全书围绕 Hadoop生态系统,将大数据处理技术拆解为十个层层递进的项目模块, 引导学生由浅入深,逐步完成从知识碎片到系统能力的建构。本书注重将课程思政有机融入教学:通过介绍我国在大数据领域的自主创新成果,激发学 生科技报国的使命感;在案例中渗透数据安全法律法规与职业道德教育,树立正确的数据伦理 ;在项目实践中强调团队协作与工匠精神,落实立德树人根本任务。


  本书围绕 Hadoop生态系统,遵循项目概述学习目标思维导图任务分解知识支撑任务实施项目小结的标准化流程,引导学生由浅入深,逐步完成从知识碎片到系统能力的建构。内容涵盖Hadoop集群部署、ZooKeeper分布式协调、HDFS分布式文件系统、MapReduce计算模型、Hive数据仓库、Sqoop数据同步、Flume数据采集等核心技术,并以一个完整的基于 Hadoop的云网盘系统设计与实现项目收尾,帮助学生形成从环境搭建到项目开发的完整技术闭环。

  本书特色鲜明:

  1.职业导向,项目驱动:紧扣职业本科人才培养目标,以10个递进式项目串联 Hadoop全栈技术, 每个任务可操作、可验证, 强化动手实操能力。

  2.技术前沿,应用落地:涵盖 Hadoop 3.x版本最新特性,融入云网盘系统开发等综合案例,对接行业真实需求,缩短从课堂到岗位的距离。  

  3.结构清晰,易教易学:每个项目包含知识讲解任务实施案例拓展,配套习题与代码资源, 满足教、学、做一体化教学。

  4.工具链完整,生态覆盖:系统整合 Hadoop核心组件及 HiveSqoopFlume等工具,构建完整大数据处理技术链。

  5.思政融入,立德树人:将数据安全、科技报国、工匠精神等元素融入教学全过程,实现知识传授与价值引领同频共振。


 

项目1 大数据与 Hadoop………………… 1

项目概述 ………………………………… 1

学习目标 ………………………………… 2

思维导图 ………………………………… 2

任务1 了解大数据概况 ……………… 2

 任务概述 ……………………………… 2

 支撑知识 ……………………………… 2

  1.1.1 什么是大数据……………… 2

  1.1.2 大数据的特征……………… 3

  1.1.3 大数据的发展趋势………… 4

  1.1.4 大数据在能源领域的应用 … 6

  1.1.5 大数据在智慧城市领域的应用………………………… 6

  1.1.6 大数据在医疗领域的应用 … 7

 任务实施 ……………………………… 7

任务2 认识大数据技术 ……………… 8

 任务概述 ……………………………… 8

 支撑知识 ……………………………… 8

  1.2.1 大数据存储与管理技术…… 8

  1.2.2 大数据分析与挖掘技术…… 8

  1.2.3 大数据展现与应用技术…… 8

 任务实施 ……………………………… 9

任务3 认识 Hadoop ………………… 9

 任务概述 ……………………………… 9

 支撑知识……………………………… 10

  1.3.1 Hadoop简介 …………… 10

  1.3.2 Hadoop的优缺点 ……… 10

  1.3.3 Hadoop的产生和发展 … 11

  1.3.4 Hadoop的版本介绍 …… 11

  1.3.5 Hadoop3.0的新特性…… 12

  1.3.6 Hadoop生态圈的相关组件 ……………………… 14

  1.3.7 国内 Hadoop的就业情况分析 ……………………… 15

  1.3.8 国内外 Hadoop应用案例介绍 ……………………… 15

 任务实施……………………………… 17

任务4 实现 Web日志数据挖掘系统 … 17

 任务概述……………………………… 17

 支撑知识……………………………… 17

 任务实施……………………………… 18

项目小结………………………………… 19

项目习题………………………………… 19


项目2 Hadoop集群的搭建 …………… 21

项目概述………………………………… 21

学习目标………………………………… 21

思维导图………………………………… 22

任务1 准备安装工作 ………………… 22

 任务概述……………………………… 22

 支撑知识……………………………… 22

 任务实施……………………………… 23

任务2 使用 Linux常用命令 ………… 39

 任务概述……………………………… 39

 支撑知识……………………………… 39

 任务实施……………………………… 40

任务3 搭建 Hadoop集群 …………… 43

 任务概述……………………………… 43

 支撑知识……………………………… 43

 任务实施……………………………… 43

任务4 测试 Hadoop集群 …………… 48

 任务概述……………………………… 48

 支撑知识……………………………… 48

 任务实施……………………………… 49

项目小结………………………………… 52

项目习题………………………………… 52


项目3 ZooKeeper分布式协调服务实践 … 53

项目概述………………………………… 53

学习目标………………………………… 54

思维导图………………………………… 54

任务1 安装部署ZooKeeper单机模式…54

 任务概述……………………………… 54

 支撑知识……………………………… 54

  3.1.1 ZooKeeper简介 ………… 54

  3.1.2 ZooKeeper的设计目标 … 55

  3.1.3 ZooKeeper工作原理 …… 56

  3.1.4 ZooKeeper应用场景 …… 56

 任务实施……………………………… 57

任务2 安装ZooKeeper集群 ………… 59

 任务概述……………………………… 59

 支撑知识……………………………… 59

  3.2.1 ZooKeeper集群安装准备 … 59

  3.2.2 ZooKeeper配置介绍 …… 59

  3.2.3 ZooKeeper集群命令 …… 60

 任务实施……………………………… 60

任务3 操作ZooKeeper客户端 ……… 62

 任务概述……………………………… 62

 支撑知识……………………………… 62

  3.3.1 ZooKeeper客户端介绍 … 62

  3.3.2 ZooKeeper客户端命令 … 63

 任务实施……………………………… 63

项目小结………………………………… 67

项目习题………………………………… 68


项目4 HDFS分布式文件系统实践 …… 69

项目概述………………………………… 69

学习目标………………………………… 70

思维导图………………………………… 70

任务1 操作 HDFSShell数据 ……… 70

 任务概述……………………………… 70

 支撑知识……………………………… 70

  4.1.1 HDFS概述 ……………… 70

  4.1.2 HDFS架构 ……………… 72

  4.1.3 HDFS读写数据的流程 … 73

  4.1.4 HDFS 副本与块 ………… 75

  4.1.5 HDFSShell命令………… 76

 任务实施……………………………… 77

任务2 使用Java程序操作 HDFS … 78

 任务概述……………………………… 78

 支撑知识……………………………… 78

  4.2.1 HDFSJavaAPI概述 …… 78

  4.2.2 使用JavaAPI操作 HDFS…79

  4.2.3 Hadoop序列化简介 …… 80

  4.2.4 实现 Hadoop序列化的常用类 ……………………… 82

  4.2.5 自定义实现 Writable接口的类 ……………………… 84

 任务实施……………………………… 84

任务3 处理 Hadoop小文件及归档 … 95

 任务概述……………………………… 95

 支撑知识……………………………… 95

  4.3.1 压缩小文件 ……………… 95

  4.3.2 合并小文件 ……………… 96

  4.3.3 读写序列文件 …………… 97

 任务实施 …………………………… 100

项目小结 ……………………………… 102

项目习题 ……………………………… 103


项目5 MapReduce分布式计算模型实践 …104

项目概述 ……………………………… 104

学习目标 ……………………………… 104

思维导图 ……………………………… 105

任务1 实践 MapReduce词频统计105

 任务概述 …………………………… 105

 支撑知识 …………………………… 105

  5.1.1 MapReduce核心思想 … 105

  5.1.2 MapReduce编程模型 … 106

  5.1.3 MapReduce作业的概述 … 107

  5.1.4 MapReduce作业运行时的资源调度………………… 107

  5.1.5 MapReduce作业运行流程…108

 任务实施 …………………………… 109

任务2 实践 MapReduce数据去重…… 115

 任务概述 …………………………… 115

 支撑知识 …………………………… 115

  5.2.1 Map任务的工作原理 … 115

  5.2.2 Reduce任务的工作原理 … 115

 任务实施 …………………………… 116

任务3 实践 MapReduce数据排序 … 118

 任务概述 …………………………… 118

 支撑知识 …………………………… 118

  5.3.1 Shuffle的概念 ………… 118

  5.3.2 Map端的Shuffle ……… 119

  5.3.3 Reduce端的Shuffle…… 119

 任务实施 …………………………… 120

任务4 实践 MapReduce分区器 …… 123

 任务概述 …………………………… 123

 支撑知识 …………………………… 123

  5.4.1 InputFormat组件 ……… 123

  5.4.2 OutputFormat组件 …… 124

  5.4.3 RecordReader组 件 和 RecordWriter组件 …………… 125

  5.4.4 Partitioner组件 ………… 126

  5.4.5 Combiner组件 ………… 126

 任务实施 …………………………… 127

任务5 实践 MapReduce连接查询 … 136

 任务概述 …………………………… 136

 支撑知识 …………………………… 136

  5.5.1 Hadoop分布式缓存 …… 136

  5.5.2 大小文件连接与大文件连接……………………… 137

 任务实施 …………………………… 138

项目小结 ……………………………… 141

项目习题 ……………………………… 142


项目6 Hadoop集群升级高可用实践 … 143

项目概述 ……………………………… 143

学习目标 ……………………………… 143

思维导图 ……………………………… 144

任务1 升级 HDFS高可用 ………… 144

 任务概述 …………………………… 144

 支撑知识 …………………………… 144

  6.1.1 HDFS高可用场景……… 144

  6.1.2 HDFS高可用架构……… 145

  6.1.3 HDFS高可用配置……… 146

  6.1.4 HDFS高可用命令……… 146

 任务实施 …………………………… 146

任务2 升级 YARN 高可用 ………… 153

 任务概述 …………………………… 153

 支撑知识 …………………………… 153

  6.2.1 YARN 高可用架构 …… 153

  6.2.2 YARN 高可用配置 …… 154

  6.2.3 YARN 高可用命令 …… 154

 任务实施 …………………………… 155

项目小结 ……………………………… 160

项目习题 ……………………………… 160


项目7 Hive数据仓库实践 …………… 161

项目概述 ……………………………… 161

学习目标 ……………………………… 161

思维导图 ……………………………… 162

任务1 安装 Hive …………………… 162

 任务概述 …………………………… 162

 支撑知识 …………………………… 162

  7.1.1 数据仓库的概述………… 162

  7.1.2 数据仓库的应用………… 163

  7.1.3 数据仓库的特点………… 164

  7.1.4 数据仓库的数据模型…… 164

  7.1.5 数据仓库和数据库的区别… 165

  7.1.6 Hive简介 ……………… 165

  7.1.7 Hive架构 ……………… 167

  7.1.8 Hive特点 ……………… 168

  7.1.9 Hive应用场景 ………… 169

 任务实施 …………………………… 169

任务2 操作 Hive库表 ……………… 174

 任务概述 …………………………… 174

 支撑知识 …………………………… 174

  7.2.1 Hive基本数据类型 …… 174

  7.2.2 Hive复杂数据类型 …… 175

  7.2.3 内部表和外部表………… 176

  7.2.4 分区分桶表……………… 184

 任务实施 …………………………… 185

任务3 实践 Hive查询 ……………… 194

 任务概述 …………………………… 194

 支撑知识 …………………………… 194

  7.3.1 SELECT 查询语句 …… 194

  7.3.2 视图……………………… 201

  7.3.3 Join……………………… 202

  7.3.4 Hive函数 ……………… 206

  7.3.5 Hive性能优化 ………… 211

 任务实施 …………………………… 213

 项目小结 ……………………………… 214

项目习题 ……………………………… 214


项目8 Sqoop数据同步实践…………… 216

项目概述 ……………………………… 216

学习目标 ……………………………… 216

思维导图 ……………………………… 217

任务1 安装Sqoop ………………… 217

 任务概述 …………………………… 217

 支撑知识 …………………………… 217

  8.1.1 Sqoop简介 ……………… 217

  8.1.2 Sqoop架构 ……………… 218

  8.1.3 Sqoop原理 ……………… 219

 任务实施 …………………………… 220

任务2 实践Sqoop数据导入与导出 … 222

 任务概述 …………………………… 222

 支撑知识 …………………………… 222

  8.2.1 Sqoop的常用命令 ……… 222

  8.2.2 Sqoop数据库连接参数 … 223

  8.2.3 Sqoopexport命令的参数… 223

  8.2.4 Sqoopimport命令的参数… 224

  8.2.5 Sqoop命令的基本操作 … 224

  8.2.6 Sqoop增量与全量数据导入……………………… 225

  8.2.7 SqoopJob概要 ………… 226

 任务实施 …………………………… 227

项目小结 ……………………………… 233

项目习题 ……………………………… 233


项目9 Flume数据采集实践 ………… 235

项目概述 ……………………………… 235

学习目标 ……………………………… 235

思维导图 ……………………………… 236

任务1 安装 Flume ………………… 236

 任务概述 …………………………… 236

 支撑知识 …………………………… 236

  9.1.1 Flume简介……………… 236

  9.1.2 Flume的特点…………… 237

  9.1.3 Flume的核心概念……… 237

  9.1.4 Flume数据流模型……… 239

 任务实施 …………………………… 241

任务2 采集Flume数据到 HDFS … 242

 任务概述 …………………………… 242

 支撑知识 …………………………… 242

  9.2.1 Flume的可靠性保证…… 242

  9.2.2 Flume拦截器…………… 245

 任务实施 …………………………… 248

项目小结 ……………………………… 250

项目习题 ……………………………… 250


项目10 基于 Hadoop的云网盘系统的

统计与实现 …………………… 252

项目概述 ……………………………… 252

学习目标 ……………………………… 252

思维导图 ……………………………… 253

任务1 部署与演示项目 …………… 253

 任务概述 …………………………… 253

 支撑知识 …………………………… 253

  10.1.1 项目简介 ……………… 253

  10.1.2 开发环境 ……………… 254

  10.1.3 项目架构设计 ………… 254

  10.1.4 云网盘效果 …………… 255

 任务实施 …………………………… 259

任务2 实现云网盘数据采集 ……… 263

 任务概述 …………………………… 263

 支撑知识 …………………………… 263

 任务实施 …………………………… 263

  10.2.1 数据探索 ……………… 263

  10.2.2 业务数据同步 ………… 265

  10.2.3 行为数据采集 ………… 269

任务3 实现云网盘数据统计 ……… 274

 任务概述 …………………………… 274

 支撑知识 …………………………… 274

  10.3.1 数据指标 ……………… 274

  10.3.2 业务数据统计 ………… 275

  10.3.3 行为数据统计 ………… 275

 任务实施 …………………………… 276

任务4 实现云网盘数据可视化 …… 279

 任务概述 …………………………… 279

 支撑知识 …………………………… 279

  10.4.1 SpringBoot概述 ……… 279

  10.4.2 ECharts介绍 ………… 279

  10.4.3 数据可视化接口 ……… 280

 任务实施 …………………………… 280

项目小结 ……………………………… 283


参考文献 ………………………………… 284