内容简介
本书以Hive为开发平台,主要介绍了如何使用HiveQL来查询和分析存储在Hadoop分布式文件系统上的大数据集合,具体内容包括Hive入门、Hive数据库及表操作、Hive元数据、Hive操作、Hive函数与Streaming、Hive视图与索引、Hive调优、Hive与Hbase集成、数据迁移框架Sqoop等。本书介绍的每个任务都运用了大量案例,紧密结合实际应用,融入了含金量十足的开发经验。在此基础上,本书通过丰富的练习和操作实践,帮助读者巩固所学的内容。本书配以多元的学习资源和支持服务,包括视频、案例素材、学习社区等,为读者提供的学习体验。 本书适合作为计算机、大数据等相关专业的教材,也适合具有一定Linux或Java开发基础且想从事大数据开发的人员阅读学习,还可以作为大数据分析与运维人员的参考用书。
目录
第 1章 Hive入门 1
任务1 了解Hive基础 2
1.1.1 认识Hive 2
1.1.2 Hive架构设计 5
1.1.3 Hive工作流程 6
1.1.4 Hive适用场景 7
任务2 掌握Hive数据存储模型 8
1.2.1 Hive存储格式 8
1.2.2 Hive数据单元 10
1.2.3 Hive存储模型 10
任务3 安装配置Hive环境 11
1.3.1 Hive的发展历程 12
1.3.2 搭建Hive CDH环境 13
1.3.3 Hive初体验 15
1.3.4 Hive开发环境 18
1.3.5 技能实训 21
本章小结 21
本章作业 21
第 2章 Hive数据库及表操作 23
任务1 熟悉Hive数据类型 24
2.1.1 基本数据类型 24
2.1.2 复杂数据类型 26
任务2 使用Hive管理雇员信息 28
2.2.1 Hive DDL操作 29
2.2.2 Hive DML操作 33
2.2.3 Hive Shell 38
2.2.4 技能实训 40
任务3 使用Hive Java API操作雇员表 41
2.3.1 开发环境搭建 41
2.3.2 JDBC操作Hive数据库 42
2.3.3 技能实训 47
本章小结 47
本章作业 48
第3章 Hive元数据 49
任务1 访问雇员数据的元数据信息 50
3.1.1 Hive元数据的概念及存储方式 50
3.1.2 雇员数据元数据信息查询 53
3.1.3 技能实训 60
任务2 使用Hive Java API读取雇员表元数据 60
3.2.1 hive-metastore组件 60
3.2.2 使用HivemetaStoreClient访问元数据 62
3.2.3 技能实训 68
任务3 使用HCatalog管理雇员数据的元数据 69
3.3.1 HCatalog介绍 69
3.3.2 HCatalog应用 70
本章小结 75
本章作业 75
第4章 Hive操作 77
任务1 关联查询商店订单明细 78
4.1.1 SELECT语句 78
4.1.2 关联查询 83
4.1.3 联合查询 87
4.1.4 技能实训 87
任务2 使用分组排序实现商品销售排行 88
4.2.1 排序 88
4.2.2 分组聚合 91
4.2.3 技能实训 94
任务3 使用窗口函数实现数据统计 94
4.3.1 窗口函数 94
4.3.2 窗口的定义 99
4.3.3 技能实训 102
本章小结 102
本章作业 102
第5章 Hive函数与Streaming 103
任务1 应用内置函数 104
5.1.1 函数概述 104
5.1.2 内置函数详解 105
5.1.3 技能实训 112
任务2 使用Java编写Hive自定义函数 112
5.2.1 自定义函数概述 113
5.2.2 UDF 114
5.2.3 UDAF 117
5.2.4 UDTF 120
5.2.5 技能实训 121
任务3 使用Streaming实现数据处理 121
5.3.1 Streaming概念 122
5.3.2 Streaming应用 122
5.3.3 技能实训 125
本章小结 125
本章作业 125
第6章 Hive视图与索引 127
任务1 创建并管理商店的顾客表和订单表视图 128
6.1.1 视图的基本概念及使用场景 128
6.1.2 视图的基本操作 130
6.1.3 Materialized Views和Lateral View 135
6.1.4 技能实训 138
任务2 建立商店顾客表索引 139
6.2.1 Hive索引的基本概念及使用场景 139
6.2.2 为商店顾客表建立索引 141
6.2.3 与索引相关的元数据表 144
6.2.4 技能实训 145
本章小结 146
本章作业 146
第7章 Hive调优 147
任务1 熟悉Hive性能调优策略 148
7.1.1 Hive性能调优使用工具 148
7.1.2 优化Map Task和Reduce Task个数 150
7.1.3 Hive Job优化 151
7.1.4 Hive Query优化 153
7.1.5 设置压缩 155
7.1.6 技能实训 157
任务2 解决Hive数据倾斜问题 157
7.2.1 数据倾斜问题 158
7.2.2 数据倾斜问题解决方案 1








