新書推薦:
《
不被他人左右:基于阿德勒心理学的无压力工作法
》
售價:HK$
67.9
《
SDGSAT-1卫星热红外影像图集
》
售價:HK$
457.7
《
股市趋势技术分析(原书第11版)
》
售價:HK$
227.7
《
汉匈战争全史
》
售價:HK$
102.4
《
恶的哲学研究(社会思想丛书)
》
售價:HK$
109.8
《
不止江湖
》
售價:HK$
101.2
《
天才留步!——从文艺复兴到新艺术运动(一本关于艺术天才的鲜活故事集,聚焦艺术史的高光时刻!)
》
售價:HK$
158.7
《
双城史
》
售價:HK$
110.9
|
編輯推薦: |
本书基于Hadoop 3.3.0,覆盖Hadoop、HBase、Hive的核心概念、实践应用、程序开发等方面的内容,帮你快速解决大数据是什么和怎么用的问题。本书适合Java大数据开发人员快速掌握Hadoop技术。
|
內容簡介: |
本书基于Hadoop 3.3.0,覆盖Hadoop、HBase、Hive的核心概念、实践应用、程序开发等方面的内容,帮你快速解决大数据是什么和怎么用的问题,书中还利用Docker来部署Hadoop分布式集群,让你同时学会4种流行的技术。 本书共9章,主要内容包括Hadoop概述、HDFS原理详解、Yarn原理详解、Hadoop系统配置、高可用Hadoop配置、HDFS编程、MapReduce编程、Hive实战、HBase实战。 本书从案例入手、通俗易懂,能使读者在短时间内迅速掌握Hadoop大数据技术。本书既适合Hadoop大数据初学者、大数据应用开发人员、大数据处理人员使用,也适合高等院校和培训机构大数据相关专业的师生教学参考。
|
關於作者: |
牛搞,软件开发从业15年编程实战经验,流媒体技术专家,高性能服务器专家。CSDN知名博主。现为IOS、Adroid、C 高级培训讲师。著有图书《Android 9编程通俗演义》《Android 10 Kotlin编程通俗演义》。
|
目錄:
|
第1章 概述 1
1.1 什么是大数据 1
1.1.1 大数据系统的定位 1
1.1.2 与传统分布式系统的区别 1
1.1.3 成功的大数据系统项目 2
1.2 Hadoop的原理 2
1.2.1 存储与资源调度 2
1.2.2 计算框架原理 2
1.3 总结 5
第2章 HDFS原理详解 6
2.1 主从节点架构 6
2.2 数据冗余 7
2.3 fsimage与edits 8
2.4 SecondaryNameNode 9
2.5 HA 10
2.6 自动故障转移 11
2.7 ZooKeeper 13
2.8 防脑裂 14
2.9 联邦 15
2.10 总结 16
第3章 Yarn原理详解 17
3.1 概述 17
3.2 作业调度策略 19
3.2.1 容量调度器 19
3.2.2 公平调度器 21
3.2.3 队列其他事项 22
3.3 Yarn与MapReduce程序 22
第4章 配置Hadoop系统 24
4.1 Docker简介 24
4.2 安装Docker 25
4.2.1 Windows、macOS做宿主系统 25
4.2.2 Linux做宿主系统 26
4.2.3 测试Docker容器 30
4.3 创建Hadoop容器 32
4.4 配置独立模式Hadoop 34
4.5 配置伪分布Hadoop 37
4.5.1 安装并配置SSH 37
4.5.2 安装其他命令行程序 38
4.5.3 编辑core-site.xml 38
4.5.4 编辑hdfs-site.xml 39
4.5.5 编辑mapred-site.xml 40
4.5.6 编辑yarn-site.xml 40
4.5.7 编辑hadoop-env.sh 41
4.5.8 运行伪分布式Hadoop 41
4.5.9 状态监控 43
4.6 基于Dockerfile的伪分布Hadoop 45
4.6.1 Dockerfile 45
4.6.2 构建Hadoop镜像 46
4.6.3 运行容器 47
4.6.4 配置Hadoop 48
4.7 配置全分布式Hadoop 49
4.7.1 组件部署架构 49
4.7.2 配置思路 50
4.7.3 修改配置文件 50
4.7.4 创建集群 51
4.7.5 启动集群 53
4.8 Windows下运行Hadoop 55
4.8.1 配置独立模式Hadoop 55
4.8.2 配置伪分布式Hadoop 56
4.9 Yarn调度配置 60
4.9.1 容量调度器 61
4.9.2 公平调度器 63
第5章 配置高可用Hadoop 66
5.1 HDFS高可用 66
5.1.1 组件部署架构 66
5.1.2 修改配置文件 67
5.1.3 创建镜像 70
5.1.4 创建HA HDFS集群 72
5.1.5 运行HA HDFS 73
5.1.6 测试HA HDFS 74
5.1.7 NameNode自动故障转移 75
5.2 Yarn高可用 78
第6章 HDFS编程 81
6.1 安装开发工具 81
6.1.1 安装Git 81
6.1.2 安装Maven 83
6.1.3 安装VSCode 84
6.1.4 安装VSCode插件 85
6.2 Native编程 87
6.2.1 创建HDFS客户端项目 87
6.2.2 示例1:查看目录状态 91
6.2.3 添加依赖库 92
6.2.4 运行程序 96
6.2.5 示例2:创建目录和文件 97
6.2.6 示例3:读取文件内容 99
6.2.7 示例4:上传和下载文件 100
6.3 WebHDFS与HttpFS 101
6.3.1 WebHDFS 101
6.3.2 VSCode插件RestClient 103
6.3.3 HttpFS 104
第7章 MapReduce编程 106
7.1 准备测试环境与创建项目 106
7.2 添加MapReduce逻辑 107
7.2.1 添加Map类 108
7.2.2 添加Reduce类 109
7.3 创建Job 110
7.4 添加依赖库 111
7.5 运行程序 112
7.6 查看运行日志 114
7.7 在Hadoop中运行程序 116
7.8 Combiner 117
7.9 Mapper与Reducer数量 119
7.10 实现SQL语句 120
7.10.1 简单查询 120
7.10.2 排序 127
7.10.3 复杂排序 129
7.10.4 分区 132
7.10.5 组合 134
7.10.6 总结 135
7.11 实现SQL JOIN 136
7.11.1 INNER JOIN 136
7.11.2 MapReduce实现JOIN 137
7.11.3 Mapper JOIN 142
7.11.4 DistributedCache 146
7.12 Counter 148
7.13 其他组件 149
7.14 升级版的WordCount 150
7.15 分布式k-means 154
7.15.1 Mapper类 155
7.15.2 Reducer类 156
7.15.3 执行任务的方法 158
7.15.4 辅助类 159
7.15.5 运行 162
7.15.6 MapReduce深入剖析 162
第8章 Hive 166
8.1 Hive的设计架构 166
8.2 运行架构 167
8.3 安装配置Hive3 168
8.3.1 安装依赖软件 168
8.3.2 创建Hive镜像Dockerfile 170
8.3.3 创建docker-compose.yml 171
8.3.4 Hadoop配置调整 172
8.3.5 为Hive准备数据库 172
8.4 运行Hive3 173
8.5 其他运行方式 175
8.5.1 MetaStore单独运行 175
8.5.2 嵌入Meta数据库 176
8.5.3 HiveServer2与beeline合体 176
8.6 Hive数据管理 176
8.6.1 基本操作 177
8.6.2 Hive表 178
8.6.3 数据倾斜 189
8.7 Hive查询优化 190
8.8 索引 192
8.9 HCatalog 192
8.10 Hive编程 194
8.10.1 JDBC操作Hive 194
8.10.2 自定义函数 196
8.11 总结 208
第9章 HBase 209
9.1 什么是HBase 209
9.2 HBase架构 210
9.3 安装与配置 211
9.3.1 独立模式运行 211
9.3.2 伪分布模式 215
9.3.3 全分布模式 216
9.4 基本数据操作 218
9.4.1 表管理 218
9.4.2 添加数据 220
9.4.3 修改数据 221
9.4.4 获取数据 221
9.4.5 删除数据 223
9.5 HBase设计原理 224
9.5.1 Region 224
9.5.2 定位数据 225
9.5.3 数据存储模型 226
9.5.4 快速写的秘密 227
9.5.5 快速读的秘密 228
9.5.6 合并StoreFile 229
9.5.7 Region拆分与合并 229
9.5.8 故障恢复 230
9.5.9 总结 231
9.6 HBase应用编程 232
9.6.1 Java API访问HBase 232
9.6.2 使用扫描过滤器 238
9.6.3 MapReduce访问HBase表 239
9.7 总结 245
后记 246
|
內容試閱:
|
当前已完全进入大数据时代,人们忽然发现积累十几年的老数据里竟然埋着巨大的财富。大数据技术无处不在,正在迅速深度融入金融、汽车、零售、餐饮、电信、能源、政务、医疗、体育、娱乐等在内的社会各行各业,并为它们带来效益的显著提升。所以说:数据就是生产力!大数据技术的广泛应用以及国家层面的大力推进,使得大数据人才的需求相当巨大。
对软件工程师来讲,大数据几乎已成技能或为自己加分的辅助技能,每个程序员都应该了解大数据,快速学习大数据技术已成为程序员的一种迫切需求。然而,找一本既系统讲解Hadoop的主要概念和原理,又通俗易懂、适合零基础入门的大数据图书是很难的,而本书就是为解决这个问题创作的。作者认为,世上没有难以理解的技术,只是因为说了行话而没有说“人”话。本书没有事无巨细地将所有内容都罗列进来,因为本书不是开发手册,本书关注的是快速理解、无痛入门,为读者自学和提高奠定基础,铺平道路。
代码下载与技术支持
本书配套的代码,请用微信扫描右边的二维码下载,可以按扫描后的页面提示,填写自己的邮箱,把链接转发到邮箱中下载。如果有疑问,请联系技术支持邮箱booksaga@163.com,邮件主题为“Hadoop3大数据技术快速入门”。
读者对象
Hadoop大数据技术初学者
Hadoop大数据应用开发人员
Hadoop大数据处理人员
高等院校、中职学校和培训机构的师生
编 者
2021年5月
|
|