新書推薦:
《
镜中的星期天
》
售價:NT$
347.0
《
世界前沿技术发展报告2024
》
售價:NT$
857.0
《
可转债——新手理财的极简工具
》
售價:NT$
296.0
《
新加坡教育:神话与现实
》
售價:NT$
439.0
《
“口袋中的世界史”第一辑·冷战中的危机事件
》
售價:NT$
1326.0
《
绝美的奥伦堡蕾丝披肩编织
》
售價:NT$
806.0
《
狂飙年代:18世纪俄国的新文化和旧文化(第二卷)
》
售價:NT$
806.0
《
万有引力书系 纳粹亿万富翁 德国财富家族的黑暗历史
》
售價:NT$
500.0
|
編輯推薦: |
本书由资深大数据专家倾力打造
以Hadoop 3.x及其周边框架为主线,介绍了整个Hadoop生态系统主流的大数据开发技术。
涵盖Hadoop 3.x生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过实际案例加深对各个框架的理解与应用。
全书深入浅出,使用了大量直观的易于理解的图示,代码可读性强,即使没有任何大数据基础的读者,也可以对照书中的步骤成功搭建属于自己的大数据集群,通过对本书的学习,读者能够对大数据相关框架迅速理解并掌握,可以熟练使用Hadoop 3.x集成环境进行大数据项目的开发。
为方便读者使用本书,书中还提供了源代码和PPT课件,扫描本书前言中的二维码即可下载,作者还为本书录制了138集教学视频,读者扫描各章的二维码即可直接观看,大幅提高学习效率。
本书适合Hadoop初学者、大数据开发人员、数据分析人员
|
內容簡介: |
本书以Hadoop 3.x及其周边框架为主线,介绍了整个Hadoop生态系统主流的大数据开发技术。全书共16章,第1章讲解VMware中CentOS 7操作系统的安装;第2章讲解操作系统集群环境的配置;第3~16章讲解Hadoop生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过案例演示了各个框架的实际应用。读者即使没有任何大数据基础,通过阅读本书,也可以对照书中的步骤成功搭建属于自己的大数据集群并独立完成项目开发。
本书通俗易懂,内容丰富,适合大数据开发初学者、大数据运维人员以及大数据分析与挖掘的从业者阅读,也可作为培训机构和大专院校大数据专业课程的教学用书。
|
關於作者: |
张伟洋,大数据领域资深专家,拥有多年互联网公司软件研发经验,曾在互联网旅游公司任软件研发事业部经理。先后多次为中国海洋大学、曲阜师范大学、青岛理工大学等高校举行大数据专题讲座,对Hadoop及周边大数据框架ZooKeeper、Hive、HBase、Storm、Spark、Flink等有深入的研究。已出版《Flink大数据分析实战》《Spark大数据分析实战》等图书,公众号 “奋斗在IT” 的创办人。
|
目錄:
|
第1章 VMware中安装CentOS 1
1.1 下载CentOS 7镜像文件 1
1.2 新建虚拟机 4
1.3 安装操作系统 6
1.4 动手练习 11
第2章 CentOS 7集群环境配置 12
2.1 系统环境配置 12
2.1.1 新建用户 12
2.1.2 修改用户权限 13
2.1.3 关闭防火墙 13
2.1.4 设置固定IP 13
2.1.5 修改主机名 16
2.1.6 新建资源目录 17
2.2 安装JDK 17
2.3 克隆虚拟机 18
2.4 配置主机IP映射 20
2.5 动手练习 21
第3章 Hadoop 22
3.1 Hadoop简介 22
3.1.1 Hadoop生态系统架构 22
3.1.2 Hadoop不同版本架构对比 24
3.2 YARN基本架构及组件 25
3.3 YARN工作流程 27
3.4 配置集群各节点SSH无密钥登录 28
3.4.1 无密钥登录原理 28
3.4.2 无密钥登录操作步骤 29
3.5 搭建Hadoop 3.x分布式集群 31
3.6 动手练习 37
第4章 HDFS 38
4.1 HDFS简介 38
4.1.1 设计目标 38
4.1.2 总体架构 39
4.1.3 主要组件 40
4.1.4 文件读写 42
4.2 HDFS命令行操作 43
4.3 HDFS Web界面操作 46
4.4 HDFS Java API操作 48
4.4.1 读取数据 48
4.4.2 创建目录 50
4.4.3 创建文件 50
4.4.4 删除文件 52
4.4.5 遍历文件和目录 52
4.4.6 获取文件或目录的元数据 53
4.4.7 上传本地文件 54
4.4.8 下载文件到本地 55
4.5 动手练习 55
第5章 MapReduce 56
5.1 MapReduce简介 56
5.1.1 设计思想 56
5.1.2 任务流程 58
5.1.3 工作原理 59
5.2 MapReduce程序编写步骤 61
5.3 案例分析:单词计数 63
5.4 案例分析:数据去重 69
5.5 案例分析:求平均分 72
5.6 案例分析:二次排序 75
5.7 使用MRUnit测试MapReduce程序 82
5.8 动手练习 84
第6章 ZooKeeper 85
6.1 ZooKeeper简介 85
6.1.1 应用场景 85
6.1.2 架构原理 86
6.1.3 数据模型 86
6.1.4 节点类型 87
6.1.5 Watcher机制 88
6.1.6 分布式锁 89
6.2 ZooKeeper安装配置 90
6.2.1 单机模式 90
6.2.2 伪分布模式 91
6.2.3 集群模式 92
6.3 ZooKeeper命令行操作 95
6.4 ZooKeeper Java API操作 97
6.4.1 创建Java工程 98
6.4.2 创建节点 98
6.4.3 修改数据 100
6.4.4 获取数据 101
6.4.5 删除节点 105
6.5 案例分析:监听服务器动态上下线 106
6.6 动手练习 110
第7章 HDFS与YARN HA 111
7.1 HDFS HA搭建 111
7.1.1 架构原理 111
7.1.2 搭建步骤 112
7.1.3 结合ZooKeeper进行HDFS自动
故障转移 118
7.2 YARN HA搭建 121
7.2.1 架构原理 122
7.2.2 搭建步骤 122
7.3 动手练习 126
第8章 HBase 127
8.1 什么是HBase 127
8.2 HBase基本结构 128
8.3 HBase数据模型 129
8.4 HBase集群架构 130
8.5 HBase安装配置 132
8.5.1 单机模式 132
8.5.2 伪分布模式 134
8.5.3 集群模式 135
8.6 HBase Shell命令操作 139
8.7 HBase Java API操作 142
8.7.1 创建Java工程 142
8.7.2 创建表 143
8.7.3 添加数据 145
8.7.4 查询数据 147
8.7.5 删除数据 148
8.8 HBase过滤器 149
8.9 案例分析:HBase MapReduce数据
转移 153
8.9.1 HBase不同表间数据转移 153
8.9.2 HDFS数据转移至HBase 158
8.10 案例分析:HBase数据备份与
恢复 161
8.11 动手练习 162
第9章 Hive 164
9.1 什么是Hive 164
9.1.1 数据单元 164
9.1.2 数据类型 165
9.2 Hive架构体系 167
9.3 Hive三种运行模式 168
9.4 Hive安装配置 169
9.4.1 内嵌模式 170
9.4.2 本地模式 172
9.4.3 远程模式 175
9.5 Hive常见属性配置 176
9.6 Beeline CLI的使用 177
9.7 Hive数据库操作 181
9.8 Hive表操作 184
9.8.1 内部表 185
9.8.2 外部表 188
9.8.3 分区表 191
9.8.4 分桶表 194
9.9 Hive查询 198
9.9.1 SELECT子句查询 198
9.9.2 JOIN连接查询 204
9.10 其他Hive命令 206
9.11 Hive元数据表结构分析 208
9.12 Hive自定义函数 210
9.13 Hive JDBC操作 212
9.14 案例分析:Hive与HBase整合 214
9.15 案例分析:Hive分析搜狗用户搜索
日志 218
9.16 动手练习 222
第10章 Sqoop 224
10.1 什么是Sqoop 224
10.1.1 Sqoop基本架构 224
10.1.2 Sqoop开发流程 225
10.2 使用Sqoop 225
10.3 数据导入工具 226
10.4 数据导出工具 231
10.5 Sqoop安装与配置 233
10.6 案例分析:将MySQL表数据导入
到HDFS中 234
10.7 案例分析:将HDFS中的数据导出
到MySQL中 236
10.8 案例分析:将MySQL表数据导入
到HBase中 237
10.9 动手练习 238
第11章 Kafka 239
11.1 什么是Kafka 239
11.2 Kafka架构 240
11.3 主题与分区 241
11.4 分区副本 242
11.5 消费者组 244
11.6 数据存储机制 245
11.7 Kafka集群环境搭建 247
11.8 命令行操作 249
11.8.1 创建主题 249
11.8.2 查询主题 250
11.8.3 创建生产者 250
11.8.4 创建消费者 251
11.9 Java API操作 251
11.9.1 创建Java工程 252
11.9.2 创建生产者 252
11.9.3 创建消费者 254
11.9.4 运行程序 255
11.10 案例分析:Kafka生产者拦截器 257
11.11 动手练习 262
第12章 Flume 263
12.1 什么是Flume 263
12.2 Flume的架构原理 263
12.2.1 单节点架构 263
12.2.2 组件介绍 264
12.2.3 多节点架构 265
12.3 安装与简单使用 267
12.4 案例分析:日志监控(一) 269
12.5 案例分析:日志监控(二) 272
12.6 拦截器 273
12.6.1 内置拦截器 274
12.6.2 自定义拦截器 277
12.7 选择器 280
12.8 案例分析:拦截器和选择器的
应用 281
12.9 案例分析:Flume与Kafka
整合 285
12.10 动手练习 287
第13章 Storm 288
13.1 什么是Storm 288
13.2 Storm Topology 288
13.3 Storm集群架构 289
13.4 Storm流分组 291
13.5 Storm集群环境搭建 292
13.6 案例分析:单词计数 296
13.6.1 设计思路 296
13.6.2 代码编写 297
13.6.3 程序运行 302
13.7 案例分析:Storm与Kafka整合 305
13.7.1 设计思路 305
13.7.2 代码编写 306
13.7.3 程序运行 309
13.8 动手练习 310
第14章 Elasticsearch 311
14.1 什么是Elasticsearch 311
14.2 基本概念 311
14.2.1 索引、类型和文档 311
14.2.2 分片和副本 312
14.2.3 路由 313
14.3 集群架构 313
14.4 集群环境搭建 315
14.5 安装Kibana 321
14.6 REST API 324
14.6.1 集群状态API 325
14.6.2 索引API 325
14.6.3 文档API 327
14.6.4 搜索API 330
14.6.5 Query DSL 332
14.7 Head插件安装 336
14.8 Java API操作:员工信息 340
14.9 动手练习 344
第15章 Scala 345
15.1 什么是Scala 345
15.2 安装Scala 345
15.2.1 Windows中安装Scala 346
15.2.2 CentOS 7中安装Scala 347
15.3 Scala基础 347
15.3.1 变量声明 348
15.3.2 数据类型 349
15.3.3 表达式 350
15.3.4 循环 351
15.3.5 方法与函数 353
15.4 集合 356
15.4.1 数组 356
15.4.2 List 358
15.4.3 Map映射 359
15.4.4 元组 360
15.4.5 Set 361
15.5 类和对象 362
15.5.1 类的定义 362
15.5.2 单例对象 363
15.5.3 伴生对象 363
15.5.4 get和set方法 364
15.5.5 构造器 366
15.6 抽象类和特质 368
15.6.1 抽象类 368
15.6.2 特质 369
15.7 使用Eclipse创建Scala项目 371
15.7.1 安装Scala for Eclipse IDE 371
15.7.2 创建Scala项目 372
15.8 使用IntelliJ IDEA创建Scala项目 372
15.8.1 IDEA中安装Scala插件 372
15.8.2 创建Scala项目 374
15.9 动手练习 375
第16章 Spark 376
16.1 Spark概述 376
16.2 Spark主要组件 377
16.3 Spark运行时架构 378
16.3.1 Spark Standalone模式 379
16.3.2 Spark On YARN模式 380
16.4 Spark集群环境搭建 382
16.4.1 Spark Standalone模式 382
16.4.2 Spark On YARN模式 384
16.5 Spark HA搭建 385
16.6 Spark应用程序的提交 389
16.7 Spark Shell的使用 391
16.8 Spark RDD 393
16.8.1 创建RDD 393
16.8.2 RDD算子 394
16.9 案例分析:使用Spark RDD实现
单词计数 398
16.10 Spark SQL 403
16.10.1 DataFrame和Dataset 404
16.10.2 Spark SQL基本使用 404
16.11 案例分析:使用Spark SQL实现
单词计数 406
16.12 案例分析:Spark SQL与
Hive整合 408
16.13 案例分析:Spark SQL读写
MySQL 410
16.14 动手练习 414
|
內容試閱:
|
当今互联网已进入大数据时代,大数据技术已广泛应用于金融、医疗、教育、电信、政府等领域。各行各业每天都在产生大量的数据,数据计量单位已从B、KB、MB、GB、TB发展到PB、EB、ZB、YB甚至BB、NB、DB。预计未来几年,全球数据将呈爆炸式增长。谷歌、阿里巴巴、百度、京东等互联网公司都急需掌握大数据技术的人才,而大数据相关人才却出现了供不应求的 状况。
Hadoop作为大数据生态系统中的核心框架,专为离线和大规模数据处理而设计。Hadoop的核心组成HDFS为海量数据提供了分布式存储;MapReduce则为海量数据提供了分布式计算。很多互联网公司都使用Hadoop来实现公司的核心业务,例如华为的云计算平台、淘宝的推荐系统等,只要和海量数据相关的领域都有Hadoop的身影。
本书作为Hadoop 3.x及其周边框架的入门书,知识面比较广,涵盖了当前整个Hadoop 3.x生态系统主流的大数据开发技术。内容全面,代码可读性强,以实操为主,理论为辅,一步一步手把手对常用的离线计算以及实时计算等系统进行了深入讲解。
全书共16章,第1章讲解VMware中CentOS 7操作系统的安装;第2章讲解大数据开发之前对操作系统集群环境的配置;第3~16章讲解Hadoop 3.x生态系统各框架HDFS、MapReduce、YARN、ZooKeeper、HBase、Hive、Sqoop和数据实时处理系统Flume、Kafka、Storm、Spark以及分布式搜索系统Elasticsearch等的基础知识、架构原理、集群环境搭建,同时包括常用的Shell命令、API操作、源码剖析,并通过实际案例加深对各个框架的理解与应用。
本书推荐的阅读方式是按照章节顺序从头到尾完成阅读,因为后面的很多章节是以前面的章节为基础,而且这种一步一个脚印、由浅入深的方式将使你更加顺利地掌握大数据的开发技能。
学习本书时,首先根据第1、2章搭建好开发环境,然后依次学习第3~16章,学习每一章时先了解该章的基础知识和框架的架构原理,然后再进行集群环境搭建、Shell命令操作等实操练习,这样学习效果会更好。当书中的理论和实操知识都掌握后,可以进行举一反三,自己开发一个大数据程序,或者将所学知识运用到自己的编程项目上,也可以到各种在线论坛与其他大数据爱好者进行讨论,互帮互助。
本书可作为Hadoop 3.x新手入门的指导书籍或者大数据开发人员的参考用书,要求读者具备一定的Java语言基础和Linux系统基础,即使没有任何大数据基础的读者,也可以对照书中的步骤成功搭建属于自己的大数据集群,是一本真正的提高读者动手能力、以实操为主的入门书籍。通过对本书的学习,读者能够对大数据相关框架迅速理解并掌握,可以熟练使用Hadoop 3.x集成环境进行大数据项目的开发。
为方便读者学习本书,本书提供了丰富的配套资源,包括PPT课件、源代码和教学视频。
可以扫码下述二维码下载PPT课件和源代码,如果下载有问题,请发送邮件到booksaga@126.com,邮件主题为“Hadoop 3.x大数据开发实战(视频教学版)”。
本书的教学视频,读者可扫描各章节二维码即可直接观看。
限于水平和时间紧迫,书中难免出现一些错误或不准确的地方,恳请读者批评指正。
2022.4.20
张伟洋
|
|