新書推薦:
![中国近代画报大系·中国近代画报史稿](http://103.6.6.66/upload/mall/productImages/24/29/9787545823547.jpg)
《
中国近代画报大系·中国近代画报史稿
》
售價:HK$
181.7
![思想地震:柄谷行人演讲集1995-2015(艺文志·日本思想)](http://103.6.6.69/upload/mall/productImages/y24/8/9787532181827.jpg)
《
思想地震:柄谷行人演讲集1995-2015(艺文志·日本思想)
》
售價:HK$
66.7
![大国人口](http://103.6.6.66/upload/mall/productImages/24/30/9787521766615.jpg)
《
大国人口
》
售價:HK$
90.9
![何以中国·君臣:宋代士大夫政治下的权力场](http://103.6.6.69/upload/mall/productImages/y24/8/9787213115370.jpg)
《
何以中国·君臣:宋代士大夫政治下的权力场
》
售價:HK$
112.7
![文明的故事(全11卷-2024版)](http://103.6.6.69/upload/mall/productImages/y24/8/9787542684653.jpg)
《
文明的故事(全11卷-2024版)
》
售價:HK$
2631.2
![中国汽车综合测评技术研究报告 (2024)](http://103.6.6.66/upload/mall/productImages/24/31/9787111759829.jpg)
《
中国汽车综合测评技术研究报告 (2024)
》
售價:HK$
229.9
![高效时间管理:巧妙且明智地利用时间](http://103.6.6.66/upload/mall/productImages/24/31/9787213114342.jpg)
《
高效时间管理:巧妙且明智地利用时间
》
售價:HK$
66.7
![完美咨询 原书第4版](http://103.6.6.66/upload/mall/productImages/24/31/9787115647696.jpg)
《
完美咨询 原书第4版
》
售價:HK$
86.3
|
編輯推薦: |
配套资源:200余个微课视频(15GB)、电子课件、习题及答案、程序源代码 本书特色: 信息技术新工科产学研联盟数据科学与大数据技术工作委员会 推荐教材。 基于Hadoop技术生态,详解大数据分布式技术原理、系统构成及应用。 实例讲解典型大数据技术应用:两大实战项目(离线/实时) 8个项目案例 14个环境搭建案例。
|
內容簡介: |
本书由浅入深地介绍了Hadoop技术生态的重要组件,让读者能够系统地了解大数据相关技术。第1章主要从整体上介绍了Hadoop大数据技术,并搭建Hadoop运行环境。第2~5章着重介绍了Hadoop核心技术,包括Hadoop分布式文件系统(HDFS)、Hadoop资源管理系统(YARN)、Hadoop分布式计算框架(MapReduce)以及ZooKeeper分布式协调服务。第6章重点介绍了Hadoop分布式集群的搭建以及集群的运维与管理。第7~8章详细介绍了Hive数据仓库和HBase分布式数据库等Hadoop的上层技术组件。第9章介绍了
Hadoop生态圈其他常用开发技术。第10~11章是项目实战,分别介绍了互联网金融项目离线分析、互联网直播项目实时分析。
本书采用理论知识和实战项目相结合的方式,突出实战,非常适合Hadoop 初学者及开发者阅读。本书既可以作为高等院校数据科学与大数据技术及相关专业的教材,也可以作为大数据工程师的必备开发手册。
|
目錄:
|
前言
第1章 Hadoop技术概述1
1.1 Hadoop的前世今生1
1.1.1 Hadoop概述1
1.1.2 Hadoop项目起源1
1.1.3 Hadoop发展历程2
1.1.4 Hadoop名字起源2
1.2 Hadoop生态系统简介2
1.3 Hadoop的优势及应用领域4
1.3.1 Hadoop的优势4
1.3.2 Hadoop的应用领域4
1.4 Hadoop与云计算5
1.4.1 云计算的概念及特点5
1.4.2 Hadoop与云计算的关系6
1.5 Hadoop与Spark6
1.5.1 Spark的概念及特点6
1.5.2 Hadoop与Spark的关系7
1.6 Hadoop与传统关系型数据库7
1.6.1 RDBMS的概念及特点7
1.6.2 Hadoop与RDBMS的关系8
1.7 案例实践:搭建Hadoop运行环境8
1.7.1 搭建IDEA开发环境9
1.7.2 搭建Linux虚拟机11
1.7.3 搭建Hadoop伪分布式集群环境15
1.8 本章小结21
1.9 习题21
第2章 Hadoop分布式文件系统(HDFS)22
2.1 HDFS架构设计与工作原理22
2.1.1 HDFS概述22
2.1.2 HDFS产生背景22
2.1.3 HDFS设计理念23
2.1.4 HDFS架构23
2.1.5 HDFS优缺点26
2.1.6 HDFS读数据流程27
2.1.7 HDFS写数据流程28
2.1.8 HDFS副本存放策略29
2.2 HDFS的高可用31
2.2.1 HA机制产生背景31
2.2.2 HDFS的HA架构32
2.2.3 HDFS的HA机制33
2.3 HDFS联邦机制33
2.4 HDFS Shell操作34
2.4.1 HDFS Shell基本操作命令34
2.4.2 HDFS Shell管理员操作命令35
2.5 案例实践:Shell定时上传文件至HDFS37
2.5.1 项目需求37
2.5.2 实现思路37
2.5.3 具体实现流程37
2.6 本章小结38
2.7 习题39
第3章 Hadoop资源管理系统(YARN)40
3.1 YARN的架构设计与工作原理40
3.1.1 YARN概述40
3.1.2 YARN的作用41
3.1.3 YARN的基本架构41
3.1.4 YARN的工作原理42
3.2 MapReduce on YARN工作流程43
3.3 YARN的容错性44
3.4 YARN的高可用45
3.5 YARN的调度器46
3.5.1 先进先出调度器46
3.5.2 容量调度器47
3.5.3 公平调度器47
3.6 案例实践:YARN调度器的配置与使用48
3.6.1 启用公平调度器48
3.6.2 队列配置48
3.6.3 同步配置文件49
3.6.4 重启YARN集群49
3.6.5 提交任务50
3.6.6 查看任务50
3.6.7 查看运行结果50
3.7 本章小结51
3.8 习题51
第4章 Hadoop分布式计算框架(MapReduce)52
4.1 初识MapReduce52
4.1.1 MapReduce概述52
4.1.2 MapReduce基本设计思想53
4.1.3 MapReduce的优缺点54
4.2 MapReduce编程模型55
4.2.1 MapReduce编程模型简介55
4.2.2 深入剖析MapReduce编程模型56
4.3 MapReduce运行机制60
4.3.1 剖析MapReduce作业运行机制60
4.3.2 作业失败与容错63
4.3.3 Shuffle过程详解65
4.4 案例实践:气象大数据离线分析67
4.5 本章小结70
4.6 习题71
第5章 ZooKeeper分布式协调服务72
5.1 ZooKeeper架构设计与工作原理72
5.1.1 ZooKeeper定义72
5.1.2 ZooKeeper的特点73
5.1.3 ZooKeeper的基本架构73
5.1.4 ZooKeeper的工作原理74
5.1.5 ZooKeeper的数据模型74
5.2 ZooKeeper集群安装前的准备工作75
5.2.1 配置Hosts文件76
5.2.2 时钟同步76
5.2.3 集群SSH免密登录77
5.2.4 JDK安装78
5.3 ZooKeeper集群的安装部署79
5.3.1 下载并解压ZooKeeper79
5.3.2 修改zoo.cfg配置文件79
5.3.3 同步ZooKeeper安装目录80
5.3.4 创建数据和日志目录80
5.3.5 创建各节点服务编号80
5.3.6 启动ZooKeeper集群服务80
5.4 ZooKeeper Shell操作81
5.5 案例实践:ZooKeeper分布式爬虫监控81
5.5.1 项目需求81
5.5.2 实现思路82
5.5.3 具体实现流程82
5.6 本章小结86
5.7 习题86
第6章 Hadoop分布式集群搭建与管理87
6.1 集群规划87
6.1.1 主机规划87
6.1.2 软件规划87
6.1.3 用户规划88
6.1.4 目录规划88
6.2 HDFS分布式集群搭建88
6.2.1 HDFS集群配置88
6.2.2 启动HDFS集群服务91
6.2.3 HDFS集群测试92
6.3 YARN分布式集群搭建93
6.3.1 YARN 集群配置93
6.3.2 启动YARN集群服务96
6.3.3 YARN集群测试96
6.4 Hadoop集群运维管理97
6.4.1 Hadoop集群进程管理98
6.4.2 Hadoop集群运维技巧99
6.5 案例实践:Hadoop集群动态扩缩容99
6.5.1 项目需求99
6.5.2 动态扩容原理99
6.5.3 动态缩容原理100
6.5.4 原Hadoop集群配置与启动100
6.5.5 Hadoop集群动态扩容102
6.5.6 Hadoop集群动态缩容104
6.6 本章小结106
6.7 习题 106
第7章 Hive数据仓库工具107
7.1 Hive概述107
7.1.1 Hive定义107
7.1.2 Hive产生的背景107
7.1.3 Hive的优缺点108
7.1.4 Hive在Hadoop生态系统中的位置108
7.1.5 Hive与Hadoop的关系108
7.2 Hive原理及架构109
7.2.1 Hive的设计原理109
7.2.2 Hive的体系架构109
7.2.3 Hive的运行机制110
7.2.4 HQL的转换过程111
7.2.5 Hive的数据类型112
7.2.6 Hive的数据存储112
7.3 Hive的安装部署113
7.3.1 安装MySQL113
7.3.2 安装Hive114
7.4 Hive详解116
7.4.1 Hive对数据库的操作116
7.4.2 Hive对数据表的操作119
7.4.3 Hive数据相关操作122
7.4.4 Hive查询相关操作126
7.4.5 Hive表连接相关操作129
7.4.6 Hive内部表和外部表相关操作130
7.4.7 Hive分区与分桶相关操作131
7.5 案例实践:B站用户行为大数据分析133
7.5.1 项目需求133
7.5.2 表结构133
7.5.3 准备工作134
7.5.4 统计分析137
7.6 本章小结138
7.7 习题138
第8章 HBase分布式数据库139
8.1 HBase概述139
8.1.1 HBase定义139
8.1.2 HBase的特点139
8.2 HBase模型及架构140
8.2.1 HBase逻辑模型140
8.2.2 HBase数据模型141
8.2.3 HBase物理模型141
8.2.4 HBase基本架构143
8.3 搭建HBase分布式集群144
8.3.1 HBase集群规划144
8.3.2 HBase集群安装配置145
8.3.3 启动HBase集群服务147
8.4 HBase Shell操作149
8.4.1 HBase Shell命令分类149
8.4.2 HBase Shell基本操作150
8.5 HBase Java客户端152
8.5.1 引入HBase依赖152
8.5.2 连接HBase数据库152
8.5.3 创建HBase表153
8.5.4 HBase插入数据153
8.5.5 HBase查询数据154
8.5.6 HBase 过滤查询155
8.5.7 删除HBase表156
8.6 案例实践:MapReduce批量写入HBase156
8.6.1 需求分析156
8.6.2 数据集准备156
8.6.3 代码实现157
8.6.4 测试运行158
8.7 本章小结159
8.8 习题159
第9章 Hadoop生态圈其他常用开发技术160
9.1 Sqoop数据迁移工具160
9.1.1 Sqoop概述160
9.1.2 Sqoop的优势161
9.1.3 Sqoop的架构与工作机制161
9.1.4 Sqoop Import 流程161
9.1.5 Sqoop Export 流程162
9.1.6 Sqoop安装部署162
9.1.7 案例实践:Sqoop迁移Hive仓库数据163
9.2 Flume日志采集系统166
9.2.1 Flume概述166
9.2.2 Flume架构设计166
9.2.3 Flume安装部署169
9.2.4 案例实践:Flume集群搭建170
9.3 Kafka分布式消息系统172
9.3.1 Kafka概述172
9.3.2 Kafka架构设计173
9.3.3 Kafka分布式集群搭建175
9.3.4 案例实践:Flume与Kafka集成178
9.4 Spark实时分析系统179
9.4.1 Spark快速入门179
9.4.2 Spark Core的核心功能181
9.4.3 Spark分布式集群搭建186
9.4.4 Spark Streaming实时计算189
9.4.5 案例实践:广告点击实时分析193
9.5 Flink实时分析系统199
9.5.1 Flink快速入门199
9.5.2 Flink分布式集群搭建203
9.5.3 Flink DataStream实时计算210
9.5.4 案例实践:新闻热搜实时分析214
9.6 Davinci大数据可视化分析217
9.6.1 Davinci架构设计217
9.6.2 Davinci安装部署220
9.6.3 案例实践:Davinci制作数据可视化大屏224
9.7 本章小结229
9.8 习题229
第10章 项目实战—互联网金融项目离线分析230
10.1 项目需求分析230
10.2 系统架构设计230
10.3 数据流程设计231
10.4 系统集群规划231
10.5 项目开发步骤232
10.5.1 准备MySQL数据源232
10.5.2 Sqoop采集MySQL数据库234
10.5.3 Hive对金融项目进行离线分析237
10.5.4 创建MySQL业务表240
10.5.5 统计结果入库MySQL242
10.5.6 Davinci数据可视化分析245
10.6 本章小结247
第11章 项目实战—互联网直播项目实时分析248
11.1 项目需求分析248
11.2 系统架构设计248
11.3 数据流程设计249
11.4 系统集群规划249
11.5 项目开发步骤250
11.5.1 模拟实时产生数据250
11.5.2 MySQL建表存储统计结果252
11.5.3 Flink Streaming业务代码实现252
11.5.4 打通互联网直播项目整个流程254
11.5.5 Davinci数据可视化分析256
11.6 本章小结256
参考文献257
|
內容試閱:
|
大数据时代已经到来,大数据技术也应用到了各行各业。特别是随着移动互联网的发展,大数据技术已经渗透到了人们生活的方方面面,应用非常广泛,学习和掌握大数据技术已经成为很迫切的现实需求。
Hadoop是大数据技术中非常重要的一个组成部分,本书系统全面地介绍了Hadoop大数据开发技术的基础与应用,介绍了Hadoop核心组件以及Hadoop生态系统常用组件,然后通过完整的项目实战案例整合相关技术组件。内容安排层层递进,逐步引导读者深入学习并掌握Hadoop的精髓。
本书的主要特色在于提供了大量完整的项目案例,结合Hadoop大数据相关技术进行讲解,注重理论与实践相结合,避免了纯理论地、孤立地学习技术组件,使读者在学习了大数据相关技术组件之后,能够真正应用到实际项目中,从而掌握实际的项目经验。
本书共11章。
第1章是Hadoop技术概述,首先介绍了Hadoop的前世今生、Hadoop生态系统、Hadoop的优势及应用领域、Hadoop技术与其他技术之间的关系,让读者对Hadoop大数据技术有个整体的认识。然后详细介绍了如何搭建Hadoop运行环境,为后续章节的学习做好铺垫。
第2章是Hadoop分布式文件系统(HDFS),首先介绍了HDFS的架构设计与工作原理、高可用、联邦机制以及Shell操作,然后通过一个案例实践详细介绍了如何将文件定时上传至HDFS。
第3章是Hadoop资源管理系统(YARN),首先介绍了YARN的架构设计与工作原理、MapReduce On YARN的工作流程以及YARN的容错性、高可用与调度器,然后通过一个案例实践详细介绍了YARN调度器的配置与使用。
第4章是Hadoop分布式计算框架(MapReduce),首先介绍了MapReduce的设计思想、优缺点等,然后重点介绍了MapReduce的编程模型与运行机制,最后以气象大数据离线分析项目为例详细介绍了MapReduce项目的完整开发流程。
第5章是ZooKeeper分布式协调服务,首先介绍了ZooKeeper架构设计与工作原理、集群安装部署以及Shell操作,然后以爬虫项目为例详细介绍了ZooKeeper对分布式应用的监控。
第6章是Hadoop分布式集群搭建与管理,首先介绍了集群规划、HDFS和YARN的分布式
集群搭建,然后介绍了Hadoop集群的管理经验及运维技巧,最后通过案例实践介绍了Hadoop集群动态扩缩容。
第7章是Hive数据仓库工具,首先介绍了Hive原理及架构、安装部署以及详细使用,然后以B站用户行为大数据项目为例详细介绍了如何使用Hive进行离线分析。
第8章是HBase分布式数据库,首先介绍了HBase模型及架构、分布式集群安装部署、Shell操作以及Java客户端,最后通过一个案例实践详细介绍了MapReduce批量写入 HBase。
第9章是Hadoop生态圈其他常用开发技术,首先介绍了Sqoop和Flume数据采集技术,然后介绍了Kafka数据存储与交换技术,接着介绍了Spark和Flink数据处理技术,最后介绍了Davinci可视化技术。每种技术都结合了具体案例实践来介绍,让读者掌握技术理论的同时,更注重项目实践能力。
第10章是项目实战—互联网金融项目离线分析,首先介绍了项目需求、系统架构设计、数据流程设计、系统集群规划,然后按照大数据离线项目流程详细介绍了互联网金融项目的完整开发过程;实现从数据采集到数据可视化这种端到端的项目开发流程,使读者真正掌握大数据技术组件在离线项目中的应用。
第11章是项目实战—互联网直播项目实时分析,首先介绍了项目需求、系统架构设计、数据流程设计、系统集群规划,然后按照大数据实时项目流程详细介绍了互联网直播项目的完整开发过程;实现从数据采集到数据可视化这种端到端的项目开发流程,使读者真正掌握大数据技术组件在实时项目中的应用。
本书内容非常丰富,除了介绍Hadoop的核心技术之外,还围绕Hadoop生态系统扩展介绍了大量的大数据实用技术,涵盖面相当广泛。除了可以满足课堂教学需求之外,书中众多的项目实践案例对于学有余力的读者和从事大数据技术开发的从业者也非常有价值。
读者可以使用移动设备的相关软件(如微信)中的“扫一扫”功能扫描书中提供的二维码,在线查看相关资源(音频建议使用耳机收听)。读者还可以关注微信公众号“大数据研习社”了解更多大数据前沿技术。
由于大数据开发技术发展迅速,而且相关技术组件繁多,书中难免有不足之处,恳请各位同仁及读者提出宝贵意见和建议。欢迎指正交流,编者邮箱:364150803@qq.com。
杨 俊
|
|