首页>参考读物>计算机科学与技术>数据库

Hadoop大数据挖掘从入门到进阶实战(视频教学版)
作者 : 邓杰 编著
出版日期 : 2018-06-11
ISBN : 978-7-111-60010-7
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 416
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

本书采用“理论+实战”的形式编写,全面介绍了Hadoop大数据挖掘的相关知识。作者为本书专门录制了配套教学视频,便于读者高效、直观地学习。本书分为13章,涵盖的主要内容有集群及开发环境搭建;快速构建一个Hadoop项目并线上运行;Hadoop套件实战;Hive编程;游戏玩家的用户行为分析;Hadoop平台管理与维护;Hadoop异常处理解决方案;Hadoop核心源码初识;Hadoop通信机制和内部协议;HDFS核心模块分析;ELK实战案例;Kafka实战案例;Hadoop拓展。本书不但适合刚入门的初学者系统学习Hadoop的各种基础语法和开发技巧,而且也适合有多年开发经验的开发者进阶提高。另外,本书也适合社会培训机构和相关院校作为教材或者教学参考书使用。

图书前言

  大数据时代,数据的存储与挖掘至关重要。企业在追求高可靠性、高扩展性及高容错性的大数据处理平台的同时还希望能够降低成本,而Hadoop为实现这些需求提供了解决方案。
  Hadoop在分布式计算与存储上具有先天优势。它作为Apache软件基金会的顶级开源项目,其版本迭代持续至今,而且已经拥有一个非常活跃的社区和全球众多开发者,并且成为了当前非常流行的大数据处理平台。很多公司,特别是互联网公司,都纷纷开始使用或者已经使用Hadoop来做海量数据存储与数据挖掘。
  Hadoop简单易学,其学习曲线平缓且学习周期短。它的操作命令和Linux命令非常相似。一个熟悉Linux的开发者只需要短短的一周时间,就可以学会Hadoop开发,完成一个高可用集群的部署和高可用应用程序的编写。
  面对Hadoop的普及和学习热潮,笔者愿意分享自己多年的开发经验,带领读者比较轻松地掌握Hadoop数据挖掘的相关知识。这便是笔者编写本书的原因。本书使用通俗易懂的语言进行讲解,从基础部署到集群的管理,再到底层设计等内容均有涉及。通过阅读本书,读者可以较为轻松地掌握Hadoop大数据挖掘与分析的相关技术。
本书特色
  1.提供专业的配套教学视频,高效、直观
  笔者曾接受过极客学院的专业视频制作指导,并在极客学院录制过多期Hadoop和Kafka实战教学视频课程,得到了众多学习者的青睐及好评。为了便于读者更加高效、直观地学习本书内容,笔者特意为本书实战部分的内容录制了配套教学视频,读者可以在教学视频的辅助下学习,从而更加轻松地掌握Hadoop。
  2.分享大量来自一线的开发经验,贴近实际开发
  本书给出的代码讲解和实例大多数来自于笔者多年的教学积累和技术分享,几乎都是得到了学习者一致好评的干货。另外,笔者还是一名开源爱好者,编写了业内著名的Kafka Eagle监控系统。本书第13章介绍了该系统的使用,以帮助读者掌握如何监控大数据集群的相关知识。
  3.分享多个来自一线的实例,有很强的实用性
  本书精心挑选了多个实用性很强的例子,如Hadoop套件实战、Hive编程、Hadoop平台管理与维护、ELK实战和Kafka实战等。读者不但可以从这些例子中学习和理解Hadoop及其套件的相关知识点,而且还可以将这些例子应用于实际开发中。
  4.讲解通俗易懂,力争触类旁通,举一反三
  本书用通俗易懂的语言讲解,避免“云山雾罩”,让读者不知所云。书中在讲解一些常用知识点时将Hadoop命令与Linux命令进行了对比,便于熟悉Linux命令的读者能够迅速掌握Hadoop的操作命令。
本书内容
  第1章 集群及开发环境搭建
  本章介绍的主要内容包括:环境准备;安装Hadoop;演示Hadoop版Hello World示例程序,以及搭建Hadoop开发环境。
  第2章 实战:快速构建一个Hadoop项目并线上运行
  本章首先介绍了快速构建项目工程的方法,如Maven和Java Project;然后介绍了分布式文件系统的操作命令,以及利用IDE提交MapReduce作业的相关知识;最后介绍了编译应用程序并打包,以及部署与调度等内容。
  第3章 Hadoop套件实战
  本章介绍了Hadoop生态圈中常见的大数据套件的背景知识和使用方法,涵盖Sqoop、Flume、HBase、Zeppelin、Drill及Spark等套件。
  第4章 Hive编程——使用SQL提交MapReduce任务到Hadoop集群
  本章主要介绍了Hive数据仓库的相关内容:Hive底层设计组成;安装和配置Hive;基于Hive应用接口进行编程;开源监控工具Hive Cube。
  第5章 游戏玩家的用户行为分析——特征提取
  本章首先对Hadoop的基础知识进行了梳理;然后介绍了项目的背景和平台架构;接着对项目进行了整体分析与指标设计,并进行了技术选型;最后对分析的指标进行了编码实践。
  第6章 Hadoop平台管理与维护
  本章介绍了Hadoop平台管理与维护的重要方法。本章首先介绍了Hadoop分布式文件系统的特性,然后介绍了HDFS的基础命令,并对NameNode进行了解读。另外,本章对Hadoop平台维护时的常规操作,如节点管理、HDFS快照和安全模式等内容也进行了讲解。
  第7章 Hadoop异常处理解决方案
  本章介绍了Hadoop异常处理解决方案的几个知识点。主要内容包括:跟踪日志;分析异常信息;利用搜索引擎检索关键字;查看Hadoop JIRA;阅读Hadoop源代码。
  本章最后以实战案例的形式分析了几种异常情况:启动HBase集群失败;HBase表查询失败;Spark的临时数据不自动清理等。
  第8章 初识Hadoop核心源码
  本章首先介绍了Hadoop源码基础环境准备及源代码编译;接着介绍了Hadoop的起源和两代MapReduce框架间的差异;最后介绍了Hadoop的序列化机制。
  第9章 Hadoop通信机制和内部协议
  本章首先介绍了Hadoop通信模型和Hadoop RPC的特点;然后通过编码实践介绍了Hadoop RPC的使用,同时还介绍了与之类似的开源RPC框架;最后介绍了MapReduce的通信协议和RPC协议的实现过程。
  第10章 Hadoop分布式文件系统剖析
  本章主要介绍了Hadoop分布式文件系统的设计特点、命令空间和节点、数据备份策略等内容,最后以实战的形式演示了跨平台数据迁移的过程。
  第11章 ELK实战案例——游戏应用实时日志分析平台
  本章介绍了常用的ELK套件:Logstash——实时日志采集、分析和传输;Elasticsearch——分布式存储及搜索引擎;Kibana——可视化管理系统。
  第12章 Kafka实战案例——实时处理游戏用户数据
  本章首先介绍了Kafka项目的背景,以及Kafka集群和Storm集群的安装过程;然后对项目案例进行了分析与指标设计,并利用笔者多年的大数据开发经验设计项目体系架构;最后演示了各个模块的编码实现,如生产模块、消费模块、数据持久化实现及应用调度实现等。
  第13章 Hadoop拓展——Kafka剖析
  本章主要介绍了Kafka的基本特性与结构,以及笔者设计并开发的开源Kafka监控工具Kafka Eagle。本章关键知识点包括:Kafka开发与维护;开源监控工具Kafka Eagle的使用;Kafka源代码分析,如分布式选举算法剖析、Kafka Offset解读、Kafka存储机制和副本剖析等。
本书配套学习资源
  本书提供了配套教学视频和实例源代码文件等超值资源。请在机械工业出版社华章分社的网站www.hzbook.com上搜索到本书页面,然后在“资料下载”模块下载这些学习资源。
本书读者对象
* Hadoop初学者;
* Hadoop进阶人员;
* 后端程序初学者;
* 前端转后端的开发人员;
* 熟悉Linux和Java而需要学习Hadoop的编程爱好者;
* 想用Hadoop快速编写海量数据处理程序的开发者;
* 相关培训机构的学员和高等院校的学生。
致谢
  感谢我的女朋友邹苗苗对我生活上的细心照顾与琐事上的宽容,使得我能安心写作!感谢我的父母对我的养育之恩!
  感谢刘旨阳、王珏辉、贺祥、张翠菊等人(排名不分先后)在写作本书时给我提供的各种帮助!
  另外,本书的编写得到了吴宏伟先生的大力帮助。他对本书的写作提出了很多有益建议,并对内容做了细致入微的审核,这使得本书条理更为清晰,语言更加通俗易懂。在此深表感谢!
  最后感谢各位读者选择了本书!希望本书能对您的学习有所助益。
  虽然笔者对书中所述内容都尽量核实,并多次进行文字校对,但因时间有限,加之水平所限,书中可能还存在疏漏和错误,敬请广大读者批评指正。联系邮件:hzbook2017@163.com和whw010@163.com。

  邓杰

上架指导

计算机科学/大数据分析与处理

封底文字

本书采用“理论+实战”的形式编写,全面介绍了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 安装Hadoop 4
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 World 25
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 安装与配置Hive 118
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 Streaming 134
4.4 运维和监控 138
4.4.1 基础命令 138
4.4.2 监控工具Hive Cube 140
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 Standby 179
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 JIRA 212
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 2 233
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 RPC的分析与使用 251
9.2.1 基础结构 251
9.2.2 使用示例 257
9.2.3 其他开源RPC框架 264
9.3 通信协议 266
9.3.1 MapReduce通信协议 266
9.3.2 RPC协议的实现 273
9.4 小结 277
第10章 Hadoop分布式文件系统剖析 278
10.1 HDFS介绍 278
10.1.1 HDFS概述 278
10.1.2 其他分布式文件系统 282
10.2 HDFS架构剖析 283
10.2.1 设计特点 283
10.2.2 命令空间和节点 285
10.2.3 数据备份剖析 289
10.3 数据迁移实战 292
10.3.1 HDFS跨集群迁移 292
10.3.2 HBase集群跨集群数据迁移 297
10.4 小结 301
第11章 ELK实战案例——游戏应用实时日志分析平台 302
11.1 Logstash——实时日志采集、分析和传输 302
11.1.1 Logstash介绍 302
11.1.2 Logstash安装 306
11.1.3 实战操作 308
11.2 Elasticsearch——分布式存储及搜索引擎 309
11.2.1 应用场景 309
11.2.2 基本概念 310
11.2.3 集群部署 312
11.2.4 实战操作 317
11.3 Kibana——可视化管理系统 323
11.3.1 Kibana特性 324
11.3.2 Kibana安装 324
11.3.3 实战操作 328
11.4 实时日志分析平台案例 331
11.4.1 案例概述 331
11.4.2 平台体系架构与剖析 332
11.4.3 实战操作 334
11.5 小结 339
第12章 Kafka实战案例——实时处理游戏用户数据 340
12.1 应用概述 340
12.1.1 Kafka回顾 340
12.1.2 项目简述 347
12.1.3 Kafka工程准备 348
12.2 项目的分析与设计 349
12.2.1 项目背景和价值概述 349
12.2.2 生产模块 350
12.2.3 消费模块 352
12.2.4 体系架构 352
12.3 项目的编码实践 354
12.3.1 生产模块 354
12.3.2 消费模块 356
12.3.3 数据持久化 362
12.3.4 应用调度 364
12.4 小结 369
第13章 Hadoop拓展——Kafka剖析 370
13.1 Kafka开发与维护 370
13.1.1 接口 370
13.1.2 新旧API编写 372
13.1.3 Kafka常用命令 380
13.2 运维监控 383
13.2.1 监控指标 384
13.2.2 Kafka开源监控工具——Kafka Eagle 384
13.3 Kafka源码分析 391
13.3.1 源码工程环境构建 391
13.3.2 分布式选举算法剖析 394
13.3.3 Kafka Offset解读 398
13.3.4 存储机制和副本 398
13.4 小结 402

教学资源推荐
作者: Gerhard Weikum,Gottfried Vossen
作者: 马义玲 汪令江 曾勇 曾新
作者: Jiawei Han,Micheline Kamber
作者: [葡]路易斯· 托尔戈(Luís Torgo)著