目 录
第1章 Hadoop概述与大数据环境准备 1
1.1 大数据定义 2
1.2 Hadoop生态介绍 2
1.2.1 Hadoop简介 2
1.2.2 Hadoop版本简介 4
1.2.3 Hadoop生态系统和组件介绍 6
1.3 Hadoop 3新特性 7
1.4 虚拟机安装 9
1.5 安装Linux操作系统 10
1.6 SSH工具与使用 15
1.7 Linux统一设置 16
1.8 小结 18
第2章 Hadoop伪分布式集群搭建 19
2.1 安装独立运行的Hadoop 19
2.2 Hadoop伪分布式环境准备 22
2.3 Hadoop伪分布式安装 26
2.4 HDFS操作命令 31
2.5 Java项目访问HDFS 33
2.5.1 创建Maven项目 34
2.5.2 HDFS操作示例 36
2.6 winutils 38
2.7 快速MapReduce程序示例 39
2.8 小结 42
第3章 HDFS分布式存储实战 43
3.1 HDFS的体系结构 43
3.2 NameNode的工作 44
3.2.1 查看镜像文件 45
3.2.2 查看日志文件 46
3.2.3 日志文件和镜像文件的操作过程 47
3.3 SecondaryNameNode 49
3.4 DataNode 50
3.5 HDFS的命令 50
3.6 远程过程调用 51
3.7 小结 53
第4章 MapReduce实战 55
4.1 MapReduce的运算过程 55
4.2 WordCount示例 57
4.3 自定义Writable 60
4.4 Partitioner分区编程 64
4.5 自定义排序 66
4.6 Combiner编程 67
4.7 默认Mapper和默认Reducer 68
4.8 倒排索引 69
4.9 Shuffle 73
4.10 小结 77
第5章 ZooKeeper与高可用集群实战 79
5.1 ZooKeeper简介 79
5.1.1 Zxid 80
5.1.2 版本号 81
5.2 单一节点安装ZooKeeper 82
5.3 基本客户端命令 83
5.4 Java代码操作ZooKeeper 86
5.5 ZooKeeper集群安装 91
5.6 znode节点类型 92
5.7 观察节点 93
5.8 配置Hadoop高可用集群 93
5.9 用Java代码操作集群 102
5.10 小结 104
第6章 Hive数据仓库实战 105
6.1 Hive3的安装配置 107
6.2 Hive的命令 110
6.3 Hive内部表 114
6.4 Hive外部表 116
6.5 Hive表分区 117
6.5.1 分区技术细节 117
6.5.2 分区示例 119
6.6 查询示例汇总 121
6.7 Hive函数 122
6.8 Hive自定义函数 128
6.9 Hive视图 132
6.10 hiveserver2 132
6.11 使用JDBC连接hiveserver2 134
6.12 小结 135
第7章 HBase数据库实战 136
7.1 HBase的特点 136
7.2 HBase安装 139
7.2.1 HBase的单节点安装 140
7.2.2 HBase的伪分布式安装 142
7.2.3 Java客户端代码 144
7.3 HBase集群安装 150
7.4 HBase Shell操作 153
7.4.1 数据模型定义 154
7.4.2 数据基本操作 156
7.5 协处理器 160
7.6 Phoenix 162
7.7 小结 168
第8章 Flume数据采集实战 169
8.1 Flume的安装与配置 170
8.2 快速示例 171
8.3 在ZooKeeper中保存Flume的配置文件 172
8.4 Flume的更多Source 176
8.4.1 Avro Source 176
8.4.2 Thrift Source和Thrift Sink 180
8.4.3 Exec Source 183
8.4.4 Spool Source 184
8.4.5 HDFS Sinks 184
8.5 小结 185
第9章 Kafka实战 186
9.1 Kafka的特点 187
9.2 Kafka术语 188
9.3 Kafka安装与部署 189
9.3.1 单机部署 189
9.3.2 集群部署 195
9.4 小结 198
第10章 影评大数据分析项目实战 199
10.1 项目介绍 199
10.2 项目需求分析 199
10.3 项目详细实现 203
10.3.1 搭建项目环境 203
10.3.2 编写爬虫类 206
10.3.3 编写分词类 207
10.3.4 第一个job的Map阶段实现 210
10.3.5 第一个job的Reducer阶段实现 210
10.3.6 第二个job的Map阶段实现 211
10.3.7 第二个job的自定义排序类阶段的实现 211
10.3.8 第二个job的自定义分区阶段实现 212
10.3.9 第二个job的Reduce阶段实现 212
10.3.10 Run程序主类实现 213
10.3.11 编写词云类 214
10.3.12 效果测试 215
第11章 旅游酒店评价大数据分析项目实战 216
11.1 项目介绍 216
11.2 项目需求分析 217
11.2.1 数据集需求 217
11.2.2 功能需求 217
11.3 项目详细实现 218
11.3.1 数据集上传到HDFS 219
11.3.2 Hadoop数据清洗 221
11.3.3 构建Hive数据仓库表 225
11.3.4 Sqoop数据导入与导出 230
11.3.5 数据可视化开发 232