
作者:青岛英谷教育科技股份有限公司,山东工商学
页数:277页
出版社:西安电子科技大学出版社
出版日期:2018
ISBN:9787560650159
电子书格式:pdf/epub/txt
内容简介
本书系统讲解了目前大数据开发领域的主流技术与实用技能, 尤其侧重于对Hadoop生态系统的讲解, 包括Hadoop框架的运作流程、执行原理及主要成员等内容。本书分别对大数据概论、Hadoop集群环境搭建以及HDFS、MapReduce、ZooKeeper、HBase、Hive、Storm、Sqoop、Kafka、Spark和ElasticSearch的核心知识进行了介绍。
本书特色
本书系统讲解了目前大数据开发领域的主流技术与实用技能,尤其侧重于对Hadoop生态系统的讲解,包括Hadoop框架的运作流程、执行原理及数据工具等内容。
全书共分12章,分别对大数据概论、Hadoop集群环境搭建以及HDFS、MapReduce、ZooKeeper、HBase、Hive、Storm、Sqoop、Kafka、Spark和ElasticSearch的核心知识进行了介绍,同时辅以对各种API及实例的深入解析与实践指导,旨在使读者迅速理解并掌握大数据的相关知识框架体系,提高动手能力,熟练使用Hadoop集成环境等大数据开发工具,完成大数据相关应用的开发、调试和运行工作。
本书适用面广,可作为高等学校大数据专业、计算机类专业的教材,也可作为大数据从业者、软件开发人员以及程序设计爱好者的参考用书。
目录
1.1 大数据技术简介 2
1.1.1 大数据技术的起源 2
1.1.2 大数据应用领域 3
1.1.3 大数据基础设施 4
1.2 大数据技术与大数据开发 6
1.2.1 什么是大数据开发 6
1.2.2 大数据开发的作用 7
1.2.3 大数据开发技术框架 8
1.2.4 大数据开发与大数据分析的
异同 10
1.3 本书中你将学习到的内容 11
本章小结 12
本章练习 12
第2章 Hadoop集群环境搭建 13
2.1 Hadoop简介 14
2.1.1 Hadoop的优点 14
2.1.2 Hadoop生态系统 14
2.2 Hadoop集群环境搭建 15
2.2.1 修改主机名 15
2.2.2 修改主机IP映射 15
2.2.3 配置SSH无密码登录 16
2.2.4 安装JDK 17
2.2.5 安装Hadoop 18
本章小结 21
本章练习 22
第3章 HDFS 23
3.1 HDFS的概念 24
3.2 HDFS的特点 24
3.3 HDFS的原理 25
3.3.1 HDFS体系结构 25
3.3.2 HDFS主要组件 26
3.4 HDFS中的文件读/写 29
3.4.1 HDFS读数据 29
3.4.2 HDFS写数据 29
3.5 HDFS的安全性措施 30
3.6 HDFS命令行操作 32
3.7 常用HDFS Java API详解 33
3.7.1 新建Hadoop项目 33
3.7.2 读取数据 34
3.7.3 创建目录 35
3.7.4 创建文件 35
3.7.5 删除文件 36
3.7.6 遍历文件和目录 36
3.7.7 复制上传本地文件 38
3.7.8 复制下载文件 39
本章小结 39
本章练习 40
第4章 MapReduce 41
4.1 MapReduce概述 42
4.2 MapReduce技术特征 42
4.3 MapReduce工作流程 44
4.3.1 MapReduce工作原理 44
4.3.2 MapReduce任务流程 45
4.4 MapReduce工作组件 46
4.5 MapReduce错误处理机制 47
4.5.1 硬件故障处理 47
4.5.2 任务失败处理 48
4.6 案例分析一:单词计数 48
4.6.1 设计思路 49
4.6.2 程序源代码 49
4.6.3 程序解读 51
4.6.4 程序运行 55
4.7 案例分析二:数据去重 57
4.7.1 设计思路 58
4.7.2 程序源代码 58
4.7.3 程序解读 59
4.7.4 程序运行 60
本章小结 60
本章练习 60
第5章 ZooKeeper 61
5.1 ZooKeeper简介 62
5.1.1 主要优势 62
5.1.2 总体架构 62
5.1.3 应用场景 63
5.2 ZooKeeper的特性 64
5.2.1 数据模型 64
5.2.2 节点类型 65
5.2.3 Watcher机制 66
5.2.4 分布式锁 67
5.2.5 权限控制 69
5.3 ZooKeeper问题与应对 69
5.4 ZooKeeper安装和配置 70
5.4.1 单机模式 70
5.4.2 集群模式 71
5.4.3 伪分布模式 73
5.5 ZooKeeper命令行工具 75
5.6 ZooKeeper Java API 77
5.6.1 常用接口 77
5.6.2 创建节点 78
5.6.3 添加数据 79
5.6.4 获取数据 79
5.6.5 删除节点 81
本章小结 81
本章练习 82
第6章 HBase 83
6.1 HBase简介 84
6.2 HBase与RDBMS 84
6.3 HBase数据结构 85
6.3.1 相关概念 86
6.3.2 存储特点 87
6.4 HBase组成架构 88
6.4.1 HMaster 88
6.4.2 HRegionServer 89
6.4.3 HRegion 89
6.4.4 ZooKeeper 90
6.4.5 HFile 90
6.4.6 HLog 90
6.5 HBase表结构 91
6.6 HBase集群安装 92
6.6.1 单机模式 92
6.6.2 伪分布模式 93
6.6.3 全分布模式 94
6.7 HBase Shell 96
6.8 HBase Java API的基本操作 98
6.8.1 创建Java工程 98
6.8.2 创建表 99
6.8.3 添加数据 100
6.8.4 查询数据 101
6.8.5 删除数据 102
6.9 HBase过滤器 102
6.9.1 过滤器简介 103
6.9.2 行键过滤器 104
6.9.3 列族过滤器 104
6.9.4 列过滤器 105
6.9.5 值过滤器 105
6.9.6 单列值过滤器 105
本章小结 106
本章练习 106
第7章 Hive 107
7.1 Hive简介 108
7.1.1 系统结构和工作方式 108
7.1.2 Hive数据模型 110
7.1.3 Hive内置服务 111
7.2 Hive环境搭建 112
7.3 Hive命令行 114
7.3.1 Hive CLI交互式命令行 114
7.3.2 hive命令 115
7.4 HiveQL详解 116
7.4.1 DDL操作 116
7.4.2 DML操作 128
7.5 Hive JDBC 132
7.5.1 配置和启动HiveServer2 132
7.5.2 JDBC访问Hive 133
7.5.3 JDBC示例代码 134
本章小结 138
本章练习 138
第8章 Storm 139
8.1 简介 140
8.1.1 基础知识 140
8.1.2 集群环境搭建 144
8.2 Topology入门 146
8.2.1 Hello World Topology 146
8.2.2 Topology生命周期 154
8.3 命令行和UI 156
8.3.1 常用命令行简介 157
8.3.2 Storm UI简介 159
8.4 常用API详解 166
8.4.1 TopologyBuilder 167
8.4.2 Component 168
本章小结 172
本章练习 172
第9章 Sqoop 173
9.1 Sqoop简介 174
9.1.1 Sqoop基本架构 174
9.1.2 Sqoop实际应用 175
9.2 导入/导出工具 175
9.2.1 数据导入工具import 176
9.2.2 数据导出工具export 177
9.3 Sqoop安装与配置 177
9.4 案例分析:使用Sqoop进行
数据导入/导出 178
9.4.1 将MySQL表数据导入到
HDFS中 179
9.4.2 将HDFS中的数据导出到
MySQL中 180
9.4.3 将MySQL表数据导入到
HBase中 180
本章小结 182
本章练习 182
第10章 Kafka 183
10.1 Kafka简介 184
10.1.1 基本概念 185
10.1.2 集群架构 186
10.1.3 主题和分区 186
10.1.4 消费者组 187
10.1.5 主要特性 188
10.1.6 应用场景 189
10.2 Kafka集群搭建 190
10.2.1 前提条件 190
10.2.2 搭建步骤 191
10.3 Kafka集群测试 192
10.3.1 创建主题 192
10.3.2 查询主题 193
10.3.3 创建生产者 193
10.3.4 创建消费者 193
10.4 Kafka Java API 194
10.4.1 创建生产者 194
10.4.2 创建消费者 196
10.4.3 运行程序 198
本章小结 199
本章练习 200
第11章 Spark 201
11.1 Spark简介 202
11.1.1 Spark基本概念 202
11.1.2 Spark的优势 205
11.1.3 Spark的核心组件 206
11.1.4 Spark应用程序执行流程 207
11.2 Spark集群环境搭建 208
11.2.1 前提条件 208
11.2.2 搭建步骤 209
11.3 Spark Shell命令操作 211
11.4 Spark编程 214
11.4.1 IntelliJ IDEA开发环境搭建 214
11.4.2 初始化SparkContext 226
11.4.3 向Spark提交应用程序 226
11.4.4 RDD编程 229
11.5 Spark数据读写 236
11.5.1 Spark文件的读取与保存 236
11.5.2 文件系统和数据库简介 239
本章小结 239
本章练习 240
第12章 ElasticSearch 241
12.1 简介 242
12.1.1 ES的起源 242
12.1.2 ES的功能特性 242
12.1.3 ES的应用场景 243
12.2 基础知识 244
12.2.1 基本概念 244
12.2.2 面向文档 246
12.2.3 与ES交互 247
12.3 环境搭建 249
12.4 RESTful API简介 252
12.4.1 集群操作 252
12.4.2 文档操作 254
12.4.3 数据操作 257
12.5 Java API简介 268
12.5.1 传输客户端简介 268
12.5.2 文档API 269
12.5.3 搜索API 274
本章小结 277
本章练习 277
1.1 大数据技术简介 2
1.1.1 大数据技术的起源 2
1.1.2 大数据应用领域 3
1.1.3 大数据基础设施 4
1.2 大数据技术与大数据开发 6
1.2.1 什么是大数据开发 6
1.2.2 大数据开发的作用 7
1.2.3 大数据开发技术框架 8
1.2.4 大数据开发与大数据分析的
异同 10
1.3 本书中你将学习到的内容 11
本章小结 12
本章练习 12
第2章 Hadoop集群环境搭建 13
2.1 Hadoop简介 14
2.1.1 Hadoop的优点 14
2.1.2 Hadoop生态系统 14
2.2 Hadoop集群环境搭建 15
2.2.1 修改主机名 15
2.2.2 修改主机IP映射 15
2.2.3 配置SSH无密码登录 16
2.2.4 安装JDK 17
2.2.5 安装Hadoop 18
本章小结 21
本章练习 22
第3章 HDFS 23
3.1 HDFS的概念 24
3.2 HDFS的特点 24
3.3 HDFS的原理 25
3.3.1 HDFS体系结构 25
3.3.2 HDFS主要组件 26
3.4 HDFS中的文件读/写 29
3.4.1 HDFS读数据 29
3.4.2 HDFS写数据 29
3.5 HDFS的安全性措施 30
3.6 HDFS命令行操作 32
3.7 常用HDFS Java API详解 33
3.7.1 新建Hadoop项目 33
3.7.2 读取数据 34
3.7.3 创建目录 35
3.7.4 创建文件 35
3.7.5 删除文件 36
3.7.6 遍历文件和目录 36
3.7.7 复制上传本地文件 38
3.7.8 复制下载文件 39
本章小结 39
本章练习 40
第4章 MapReduce 41
4.1 MapReduce概述 42
4.2 MapReduce技术特征 42
4.3 MapReduce工作流程 44
4.3.1 MapReduce工作原理 44
4.3.2 MapReduce任务流程 45
4.4 MapReduce工作组件 46
4.5 MapReduce错误处理机制 47
4.5.1 硬件故障处理 47
4.5.2 任务失败处理 48
4.6 案例分析一:单词计数 48
4.6.1 设计思路 49
4.6.2 程序源代码 49
4.6.3 程序解读 51
4.6.4 程序运行 55
4.7 案例分析二:数据去重 57
4.7.1 设计思路 58
4.7.2 程序源代码 58
4.7.3 程序解读 59
4.7.4 程序运行 60
本章小结 60
本章练习 60
第5章 ZooKeeper 61
5.1 ZooKeeper简介 62
5.1.1 主要优势 62
5.1.2 总体架构 62
5.1.3 应用场景 63
5.2 ZooKeeper的特性 64
5.2.1 数据模型 64
5.2.2 节点类型 65
5.2.3 Watcher机制 66
5.2.4 分布式锁 67
5.2.5 权限控制 69
5.3 ZooKeeper问题与应对 69
5.4 ZooKeeper安装和配置 70
5.4.1 单机模式 70
5.4.2 集群模式 71
5.4.3 伪分布模式 73
5.5 ZooKeeper命令行工具 75
5.6 ZooKeeper Java API 77
5.6.1 常用接口 77
5.6.2 创建节点 78
5.6.3 添加数据 79
5.6.4 获取数据 79
5.6.5 删除节点 81
本章小结 81
本章练习 82
第6章 HBase 83
6.1 HBase简介 84
6.2 HBase与RDBMS 84
6.3 HBase数据结构 85
6.3.1 相关概念 86
6.3.2 存储特点 87
6.4 HBase组成架构 88
6.4.1 HMaster 88
6.4.2 HRegionServer 89
6.4.3 HRegion 89
6.4.4 ZooKeeper 90
6.4.5 HFile 90
6.4.6 HLog 90
6.5 HBase表结构 91
6.6 HBase集群安装 92
6.6.1 单机模式 92
6.6.2 伪分布模式 93
6.6.3 全分布模式 94
6.7 HBase Shell 96
6.8 HBase Java API的基本操作 98
6.8.1 创建Java工程 98
6.8.2 创建表 99
6.8.3 添加数据 100
6.8.4 查询数据 101
6.8.5 删除数据 102
6.9 HBase过滤器 102
6.9.1 过滤器简介 103
6.9.2 行键过滤器 104
6.9.3 列族过滤器 104
6.9.4 列过滤器 105
6.9.5 值过滤器 105
6.9.6 单列值过滤器 105
本章小结 106
本章练习 106
第7章 Hive 107
7.1 Hive简介 108
7.1.1 系统结构和工作方式 108
7.1.2 Hive数据模型 110
7.1.3 Hive内置服务 111
7.2 Hive环境搭建 112
7.3 Hive命令行 114
7.3.1 Hive CLI交互式命令行 114
7.3.2 hive命令 115
7.4 HiveQL详解 116
7.4.1 DDL操作 116
7.4.2 DML操作 128
7.5 Hive JDBC 132
7.5.1 配置和启动HiveServer2 132
7.5.2 JDBC访问Hive 133
7.5.3 JDBC示例代码 134
本章小结 138
本章练习 138
第8章 Storm 139
8.1 简介 140
8.1.1 基础知识 140
8.1.2 集群环境搭建 144
8.2 Topology入门 146
8.2.1 Hello World Topology 146
8.2.2 Topology生命周期 154
8.3 命令行和UI 156
8.3.1 常用命令行简介 157
8.3.2 Storm UI简介 159
8.4 常用API详解 166
8.4.1 TopologyBuilder 167
8.4.2 Component 168
本章小结 172
本章练习 172
第9章 Sqoop 173
9.1 Sqoop简介 174
9.1.1 Sqoop基本架构 174
9.1.2 Sqoop实际应用 175
9.2 导入/导出工具 175
9.2.1 数据导入工具import 176
9.2.2 数据导出工具export 177
9.3 Sqoop安装与配置 177
9.4 案例分析:使用Sqoop进行
数据导入/导出 178
9.4.1 将MySQL表数据导入到
HDFS中 179
9.4.2 将HDFS中的数据导出到
MySQL中 180
9.4.3 将MySQL表数据导入到
HBase中 180
本章小结 182
本章练习 182
第10章 Kafka 183
10.1 Kafka简介 184
10.1.1 基本概念 185
10.1.2 集群架构 186
10.1.3 主题和分区 186
10.1.4 消费者组 187
10.1.5 主要特性 188
10.1.6 应用场景 189
10.2 Kafka集群搭建 190
10.2.1 前提条件 190
10.2.2 搭建步骤 191
10.3 Kafka集群测试 192
10.3.1 创建主题 192
10.3.2 查询主题 193
10.3.3 创建生产者 193
10.3.4 创建消费者 193
10.4 Kafka Java API 194
10.4.1 创建生产者 194
10.4.2 创建消费者 196
10.4.3 运行程序 198
本章小结 199
本章练习 200
第11章 Spark 201
11.1 Spark简介 202
11.1.1 Spark基本概念 202
11.1.2 Spark的优势 205
11.1.3 Spark的核心组件 206
11.1.4 Spark应用程序执行流程 207
11.2 Spark集群环境搭建 208
11.2.1 前提条件 208
11.2.2 搭建步骤 209
11.3 Spark Shell命令操作 211
11.4 Spark编程 214
11.4.1 IntelliJ IDEA开发环境搭建 214
11.4.2 初始化SparkContext 226
11.4.3 向Spark提交应用程序 226
11.4.4 RDD编程 229
11.5 Spark数据读写 236
11.5.1 Spark文件的读取与保存 236
11.5.2 文件系统和数据库简介 239
本章小结 239
本章练习 240
第12章 ElasticSearch 241
12.1 简介 242
12.1.1 ES的起源 242
12.1.2 ES的功能特性 242
12.1.3 ES的应用场景 243
12.2 基础知识 244
12.2.1 基本概念 244
12.2.2 面向文档 246
12.2.3 与ES交互 247
12.3 环境搭建 249
12.4 RESTful API简介 252
12.4.1 集群操作 252
12.4.2 文档操作 254
12.4.3 数据操作 257
12.5 Java API简介 268
12.5.1 传输客户端简介 268
12.5.2 文档API 269
12.5.3 搜索API 274
本章小结 277
本章练习 277














