热门排行
简介
大数据技术让我们以一种的方式,对海量数据进行分析,从中获得有巨大价值的产品和服务,*终形成变革之力。本书围绕Hadoop和Spark两个主流大数据技术进行讲解,主要内容包括Hadoop环境配置、Hadoop分布式文件(HDFS)、Hadoop分布式计算框架MapReduce、Hadoop资源调度框架YARN与Hadoop新特性、Hadoop分布式数据库HBase、数据仓库Hive、大数据离线处理辅助、Spark Core、Spark SQL、Spark Streaming等知识。本书紧密结合实际应用,运用大量案例说明和实践,提炼含金量十足的开发经验。另外,本书配以多元的学习资源和支持服务,包括视频教程、案例素材下载、学习交流社区、讨论组等学习内容,为读者带来全方位的学习体验。
目录
序言
前言
关于引用作品的版权声明
第 1章Hadoop初体验 1
任务1初识大数据 2
1.1.1 大数据基本概念 2
1.1.2 大数据带来的挑战 3
任务2初识Hadoop 3
1.2.1 Hadoop概述 4
1.2.2 Hadoop生态圈 6
1.2.3 Hadoop应用案例 8
任务3安装Hadoop平台 9
1.3.1 安装虚拟机 10
1.3.2 安装Linux系统 13
1.3.3 安装Hadoop伪分布式环境 30
本章总结 34
本章练习 34
第 2章Hadoop分布式文件系统 35
任务1HDFS入门 36
2.1.1 认识HDFS 36
2.1.2 HDFS基础 38
2.1.3 HDFS架构 40
任务2HDFS基本操作 41
2.2.1 使用HDFS shell访问 41
2.2.2 使用Java API访问 45
任务3HDFS运行原理 48
2.3.1 HDFS读写流程 49
2.3.2 HDFS副本机制 50
2.3.3 HDFS负载均衡 51
2.3.4 HDFS机架感知 52
任务4HDFS高级知识 53
2.4.1 Hadoop序列化机制 53
2.4.2 SequenceFile 58
2.4.3 MapFile 63
本章总结 65
本章练习 66
第3章Hadoop分布式计算框架 67
任务1认识MapReduce编程模型 68
3.1.1 MapReduce基础 68
3.1.2 MapReduce编程模型 69
3.1.3 MapReduce词频统计编程实例 70
任务2MapReduce应用开发 75
3.2.1 MapReduce输入/输出类型 75
3.2.2 MapReduce输入格式 76
3.2.3 MapReduce输出格式 78
3.2.4 Combiner操作 79
3.2.5 Partitioner操作 82
3.2.6 自定义RecordReader 86
任务3MapReduce高级应用 92
3.3.1 使用MapReduce实现join操作 93
3.3.2 使用MapReduce实现排序 100
3.3.3 使用MapReduce实现二次排序 103
3.3.4 使用MapReduce合并小文件 108
本章总结 113
本章练习 113
第4章Hadoop新特性 115
任务1初识YARN 116
4.1.1 YARN产生背景 116
4.1.2 YARN简介 117
4.1.3 YARN架构设计 119
任务2了解HDFS新特性 121
4.2.1 HDFS NameNode 高可用机制 121
4.2.2 HDFS NameNode Federation 129
4.2.3 HDFS Snapshots 130
4.2.4 HDFS REST API 134
4.2.5 DistCp工具 134
任务3了解YARN新特性 135
4.3.1 ResourceManager自动重启 135
4.3.2 ResourceManager高可用机制 136
本章总结 139
本章练习 139
第5章Hadoop分布式数据库 141
任务1认识HBase 142
5.1.1HBase简介 142
5.1.2 HBase体系结构 143
5.1.3HBase数据模型 145
5.1.4HBase的安装 148
任务2HBase Shell操作 155
5.2.1 HBase Shell简介 155
5.2.2 HBase Shell的使用 156
任务3HBase编程 162
5.3.1 开发HBase应用程序 162
5.3.2HBase数据存储管理API 163
本章总结 175
本章练习 175
第6章Hadoop综合实战——音乐排行榜 177
任务1MapReduce与HBase的集成 178
6.1.1 MapReduce与HBase的集成环境 178
6.1.2 批量数据导入(Bulk Loading) 181
任务2HBase MapReduce API 182
6.2.1HBase MapReduce API 简介 182
6.2.2 TableMapper的使用 183
6.2.3 TableReducer的使用 195
任务3实现音乐排行榜 197
6.3.1 程序的结构与实现 198
6.3.2 HBase数据库设计优化 205
6.3.3 MapReduce全局共享数据 205
本章总结 207
本章练习 207
第7章数据仓库Hive 209
任务1Hive基础 210
7.1.1 认识Hive 210
7.1.2 Hive架构设计 211
7.1.3 Hive与Hadoop 212
7.1.4 Hive与传统关系型数据库 212
7.1.5 Hive数据存储模型 213
7.1.6 Hive部署 213
任务2掌握Hive操作 214
7.2.1 Hive DDL 214
7.2.2 Hive DML 217
7.2.3 Hive shell 222
任务3Hive高级应用 223
7.3.1 Hive函数 224
7.3.2 Hive调优策略 227
本章总结 232
本章练习 232
第8章大数据离线处理辅助系统 233
任务1认识并使用数据迁移框架Sqoop 234
8.1.1 Sqoop简介 234
8.1.2 使用Sqoop导入MySQL数据到HDFS 239
8.1.3 使用Sqoop导出HDFS数据到MySQL 246
8.1.4 使用Sqoop导入MySQL数据到Hive 248
8.1.5 Sqoop Job 250
任务2使用Azkaban实现工作流调度 250
8.2.1 Azkaban概述 250
8.2.2 Azkaban环境部署 252
8.2.3 Azkaban应用实例 256
本章总结 259
本章练习 259
第9章Spark基础 261
任务1Spark入门 262
9.1.1 Spark简介 262
9.1.2 Spark优势 262
9.1.3 Spark生态圈 264
任务2Scala基础 267
9.2.1 Scala简介 268
9.2.2 Scala函数定义 271
9.2.3 Scala面向对象操作 272
9.2.4 Scala集合的使用 275
9.2.5 Scala高阶函数 278
任务3编译Spark 281
9.3.1 下载Spark源码 281
9.3.2 编译Spark源码 282
任务4Spark初体验 284
9.4.1 Spark环境部署 284
9.4.2 spark-shell 285
本章总结 286
本章练习 286
第 10章Spark Core 287
任务1Spark RDD 288
10.1.1 RDD介绍 288
10.1.2 RDD的创建 289
10.1.3 RDD的转换算子 291
10.1.4 RDD的动作算子 293
10.1.5 RDD的依赖关系 295
任务2RDD高级应用 297
10.2.1 RDD缓存机制 297
10.2.2 共享变量 300
10.2.3 Spark架构设计 302
任务3基于RDD的Spark应用程序开发 303
10.3.1 准备工作 303
10.3.2 词频计数实例 304
10.3.3 年龄统计实例 308
本章总结 309
本章练习 309
第 11章Spark SQL 311
任务1认识Spark SQL 312
11.1.1 SQL 312
11.1.2 SQL on Hadoop框架 312
11.1.3 Spark SQL简介 314
任务2Spark SQL编程基础 315
11.2.1 Spark SQL编程入口 315
11.2.2 DataFrame基础 317
11.2.3 DataFrame编程实例 318
任务3Spark SQL编程进阶 325
11.3.1 Spark SQL操作外部数据源 325
11.3.2 Spark SQL函数 329
11.3.3 Spark SQL调优 332
本章总结 334
本章练习 335
第 12章Spark Streaming 337
任务1流处理框架及Spark Streaming 338
12.1.1 流处理框架简介 338
12.1.2 Spark Streaming简介 340
任务2使用Spark Streaming编程 343
12.2.1 Spark Streaming核心 343
12.2.2 Spark Streaming编程实例 348
任务3Spark Streaming高级应用 352
12.3.1 使用Spark Streaming整合Flume 353
12.3.2 使用Spark Streaming整合Kafka 356
12.3.3 Spark Streaming优化策略 361
本章总结 363
本章练习 363
附录 365