Hadoop大数据挖掘从入门到进阶实战 视频教学版
作者:邓杰 编著
出版时间: 2018年版
内容简介
本书采用“理论+实战”的形式编写,全面介绍了Hadoop大数据挖掘的相关知识。本书共分为13章,涵盖的主要内容有:集群及开发环境搭建;快速构建一个Hadoop项目并线上运行;Hadoop套件实战;Hive编程——使用SQL提交MapReduce任务到Hadoop集群;游戏玩家的用户行为分析——特征提取;Hadoop平台管理与维护;Hadoop异常处理解决方案;初识Hadoop核心源码;Hadoop通信机制和内部协议;Hadoop分布式文件系统剖析;ELK实战案例——游戏应用实时日志分析平台;Kafka实战案例——实时处理游戏用户数据;Hadoop拓展——Kafka剖析。本书不但适合刚入门的初学者系统学习Hadoop的各种基础语法和开发技巧,而且也适合有多年开发经验的开发者进阶提高。另外,本书也适合社会培训机构和相关院校作为教材或者教学参考书。
目录
目录
前言
第1章 集群及开发环境搭建1
1.1 环境准备1
1.1.1 基础软件下载1
1.1.2 准备Linux操作系统2
1.2 安装Hadoop4
1.2.1 基础环境配置4
1.2.2 Zookeeper部署7
1.2.3 Hadoop部署9
1.2.4 效果验证21
1.2.5 集群架构详解24
1.3 Hadoop版Hello World25
1.3.1 Hadoop Shell介绍25
1.3.2 WordCount初体验27
1.4 开发环境28
1.4.1 搭建本地开发环境28
1.4.2 运行及调试预览31
1.5 小结34
第2章 实战:快速构建一个Hadoop项目并线上运行35
2.1 构建一个简单的项目工程35
2.1.1 构建Java Project结构工程35
2.1.2 构建Maven结构工程36
2.2 操作分布式文件系统(HDFS)39
2.2.1 基本的应用接口操作39
2.2.2 在高可用平台上的使用方法42
2.3 利用IDE提交MapReduce作业43
2.3.1 在单点上的操作43
2.3.2 在高可用平台上的操作46
2.4 编译应用程序并打包51
2.4.1 编译Java Project工程并打包51
2.4.2 编译Maven工程并打包55
2.5 部署与调度58
2.5.1 部署应用58
2.5.2 调度任务59
2.6 小结60
第3章 Hadoop套件实战61
3.1 Sqoop——数据传输工具61
3.1.1 背景概述61
3.1.2 安装及基本使用62
3.1.3 实战:在关系型数据库与分布式文件系统之间传输数据64
3.2 Flume——日志收集工具66
3.2.1 背景概述67
3.2.2 安装与基本使用67
3.2.3 实战:收集系统日志并上传到分布式文件系统(HDFS)上72
3.3 HBase——分布式数据库74
3.3.1 背景概述74
3.3.2 存储架构介绍75
3.3.3 安装与基本使用75
3.3.4 实战:对HBase业务表进行增、删、改、查操作79
3.4 Zeppelin——数据集分析工具85
3.4.1 背景概述85
3.4.2 安装与基本使用85
3.4.3 实战:使用解释器操作不同的数据处理引擎88
3.5 Drill——低延时SQL查询引擎92
3.5.1 背景概述93
3.5.2 安装与基本使用93
3.5.3 实战:对分布式文件系统(HDFS)使用SQL进行查询95
3.5.4 实战:使用SQL查询HBase数据库99
3.5.5 实战:对数据仓库(Hive)使用类实时统计、查询操作101
3.6 Spark——实时流数据计算104
3.6.1 背景概述104
3.6.2 安装部署及使用105
3.6.3 实战:对接Kafka消息数据,消费、计算及落地108
3.7 小结114
第4章 Hive编程——使用SQL提交MapReduce任务到Hadoop集群115
4.1 环境准备与Hive初识115
4.1.1 背景介绍115
4.1.2 基础环境准备116
4.1.3 Hive结构初识116
4.1.4 Hive与关系型数据库(RDBMS)118
4.2 安装与配置Hive118
4.2.1 Hive集群基础架构119
4.2.2 利用HAProxy实现Hive Server负载均衡120
4.2.3 安装分布式Hive集群123
4.3 可编程方式126
4.3.1 数据类型126
4.3.2 存储格式128
4.3.3 基础命令129
4.3.4 Java编程语言操作数据仓库(Hive)131
4.3.5 实践Hive Streaming134
4.4 运维和监控138
4.4.1 基础命令138
4.4.2 监控工具Hive Cube140
4.5 小结143
第5章 游戏玩家的用户行为分析——特征提取144
5.1 项目应用概述144
5.1.1 场景介绍144
5.1.2 平台架构与数据采集145
5.1.3 准备系统环境和软件147
5.2 分析与设计148
5.2.1 整体分析148
5.2.2 指标与数据源分析149
5.2.3 整体设计151
5.3 技术选型153
5.3.1 套件选取简述154
5.3.2 套件使用简述154
5.4 编码实践157
5.4.1 实现代码157
5.4.2 统计结果处理163
5.4.3 应用调度169
5.5 小结174
第6章 Hadoop平台管理与维护175
6.1 Hadoop分布式文件系统(HDFS)175
6.1.1 HDFS特性175
6.1.2 基础命令详解176
6.1.3 解读NameNode Standby179
6.2 Hadoop平台监控182
6.2.1 Hadoop日志183
6.2.2 常用分布式监控工具187
6.3 平台维护196
6.3.1 安全模式196
6.3.2 节点管理198
6.3.3 HDFS快照200
6.4 小结203
第7章 Hadoop异常处理解决方案204
7.1 定位异常204
7.1.1 跟踪日志204
7.1.2 分析异常信息208
7.1.3 阅读开发业务代码209
7.2 解决问题的方式210
7.2.1 搜索关键字211
7.2.2 查看Hadoop JIRA212
7.2.3 阅读相关源码213
7.3 实战案例分析216
7.3.1 案例分析1:启动HBase失败216
7.3.2 案例分析2:HBase表查询失败219
7.3.3 案例分析3:Spark的临时数据不自动清理222
7.4 小结223
第8章 初识Hadoop核心源码224
8.1 基础准备与源码编译224
8.1.1 准备环境224
8.1.2 加载源码228
8.1.3 编译源码230
8.2 初识Hadoop 2233
8.2.1 Hadoop的起源233
8.2.2 Hadoop 2源码结构图234
8.2.3 Hadoop模块包235
8.3 MapReduce框架剖析236
8.3.1 第一代MapReduce框架236
8.3.2 第二代MapReduce框架238
8.3.3 两代MapReduce框架的区别239
8.3.4 第二代MapReduce框架的重构思路240
8.4 序列化241
8.4.1 序列化的由来242
8.4.2 Hadoop序列化243
8.4.3 Writable实现类245
8.5 小结247
第9章 Hadoop通信机制和内部协议248
9.1 Hadoop RPC概述248
9.1.1 通信模型248
9.1.2 Hadoop RPC特点250
9.2 Hadoop R