Hive数据仓库技术
¥68.00定价
作者: 高分所,曾修俊
出版时间:2022-05
出版社:重庆大学电子音像出版社
- 重庆大学电子音像出版社
- 9787894466440
- 1版
- 468248
- 68256328-3
- 16开
- 2022-05
- 计算机类
- 高职
内容简介
本书主要讲解了Hive简介,Hive访问与参数配置,Hive数据类型与基本操作,Hive DQL操作,Hive 函数,压缩与存储,Hive调优,Hive与HBase集成和数据仓库设计。通过本书的学习,学生能掌握Hive数据仓库技术的知识和实际应用。
目录
目录
第1章 Hive简介 1
1.1 Hive产生背景 3
1.2 什么是Hive 3
1.3 Hive优缺点 4
1.4 Hive框架原理 4
1.5 Hive的工作原理 5
1.6 Hive与传统数据库的比较 6
1.7 Hive安装 8
1.7.1 Apache 版本Hadoop环境构建 8
1.7.2 Hadoop安装 28
1.7.3 Hive安装 41
1.7.4 将本地文件导入Hive案例 43
1.7.5 MySQL安装 45
1.7.6 Hive元数据配置到MySQL 48
1.7.7 多窗口启动Hive测试 49
第2章 Hive访问与参数配置 52
2.1 Hive访问 54
2.1.1 交互式访问 54
2.1.2 hiveserver2访问 58
2.2 第三方访问工具 59
2.2.1 下载与安装 60
2.2.2 配置DBeaver连接Hive。 63
2.2.3 使用DBeaver 70
2.3 Hive常见属性配置 74
2.3.1 Hive数据仓库位置配置 74
2.3.2 查询后信息显示配置 74
2.3.3 Hive运行日志信息配置 75
2.3.4 参数配置方式 75
第3章 Hive数据类型与基本操作 78
3.1 Hive的数据类型与存储格式 80
3.1.1 基础数据类型 80
3.1.2 复杂数据类型 83
3.1.3 类型转化 85
3.1.4 Hive的存储格式 85
3.1.5 Hive文本文件数据编码 87
3.2 DDL数据定义 88
3.2.1 创建数据库 88
3.2.2 查看数据库 88
3.2.3 修改数据库 89
3.2.4 删除数据库 89
3.2.5 创建表 90
3.2.6 管理表 91
3.2.7 外部表 93
3.2.8 管理表与外部表的互相转换 96
3.2.9 分区表 99
3.2.10 桶表 105
3.2.11 视图 106
3.2.12 修改表 106
3.2.13 删除表 108
3.3 DML数据操作 109
3.3.1 数据导入 109
3.3.2 数据导出 111
3.3.3 清除表中数据(Truncate) 112
第4章 Hive DQL操作 114
4.1 Hive查询语法 116
4.2 基本查询 116
4.2.1 全表和特定列查询 116
4.2.2 列别名 117
4.2.3 算术运算符 117
4.2.4 常用函数 118
4.2.5 Limit语句 118
4.3 Where语句 118
4.3.1 比较运算符 118
4.3.2 Like和RLike 120
4.3.3 逻辑运算符 120
4.4 分组 121
4.4.1 Group By语句 121
4.4.2 Having语句 121
4.5 JOIN语句 122
4.5.1 等值JOIN 122
4.5.2 表的别名 122
4.5.3 内连接 122
4.5.4 左外连接 122
4.5.5 右外连接 123
4.5.6 满外连接 123
4.5.7 多表连接 123
4.5.8 笛卡尔积 124
4.5.9 连接谓词中不支持or 124
4.6 排序 125
4.6.1 全局排序(Order By) 125
4.6.2 按照别名排序 125
4.6.3 多个列排序 125
4.6.4 每个MapReduce内部排序(Sort By) 125
4.6.5 分区排序(Distribute By) 126
4.6.6 Cluster By 126
4.7 分桶及抽样查询 127
4.7.1 分桶表数据存储 127
4.7.2 分桶抽样查询 130
4.8 with...as...语句 131
4.9 其他常用查询函数 133
4.9.1 空字段赋值 133
4.9.2 CASE WHEN 134
4.9.3 行转列 135
4.9.4 列转行 136
4.9.5 窗口函数 138
4.9.6 ROW_NUMBER/RANK/DENSE_RANK 141
4.10 Hive语句执行顺序 143
第5章 Hive函数 148
5.1 Hive内置函数 150
5.2 自定义函数 159
5.2.1 自定义UDF函数 160
5.2.2 自定义 UDAF 函数 161
5.2.3 自定义UDTF函数 164
5.3 临时函数与永久函数 167
5.3.1 临时函数 167
5.3.2 永久函数 167
第6章 压缩与存储 170
6.1 确定安装编/解码器 172
6.2 选择一种压缩编/解码器 172
6.3 Hadoop压缩配置 176
6.4 开启Map输出阶段压缩 177
6.5 开启Reduce输出阶段压缩 178
6.6 Hadoop源码编译支持Snappy压缩 179
6.6.1 资源准备 179
6.6.2 jar和maven包安装 179
6.6.3 编译源码 180
6.6.4 修改Hadoop集群具有Snappy压缩方式 181
6.7 文件存储格式 184
6.7.1 列式存储和行式存储 184
6.7.2 TextFile格式 185
6.7.3 ORC格式 185
6.7.4 Parquet格式 186
6.7.5 主流文件存储格式对比实验 187
6.8 存储和压缩结合 190
第7章 Hive调优 193
7.1 Fetch抓取 195
7.2 本地模式 196
7.3 表的优化 197
7.3.1 小表,大表Join 197
7.3.2 大表Join大表 198
7.3.3 MapJoin 201
7.3.4 Group By 202
7.3.5 Count(Distinct) 去重统计 203
7.3.6 笛卡尔积 204
7.3.7 行列过滤 204
7.3.8 动态分区调整 204
7.4 合理设置Map数 206
7.5 小文件进行合并 206
7.6 复杂文件增加Map数 207
7.7 合理设置Reduce数 207
7.8 并行执行 208
7.9 严格模式 208
7.10 JVM重用 209
7.11 推测执行 210
7.12 执行计划(Explain) 210
7.13 数据倾斜 211
第8章 Hive与HBase集成 218
8.1 Hive与HBase集成原理 220
8.2 应用场景 220
8.3 环境准备 221
8.3.1 Hive与HBase版本兼容性 221
8.3.2 编译hive-hbase-handler.jar包 222
8.3.3 启动Zookeeper,Hadoop,HBase 233
8.4 应用案例 234
8.5 Hive over HBase和Hive over HDFS性能比较分析 236
8.5.1 查询性能比较: 236
8.5.2 性能瓶颈分析 238
8.5.3 Hive over HBase优化 240
第9章 数据仓库设计 242
9.1 数据仓库简介 244
9.1.1 什么数据仓库 244
9.1.2 数据仓库特点 244
9.1.3 Hive数据仓库工具 246
9.2 数据仓库分层设计 247
9.3 范式理论 250
9.3.1 范式理论概述 250
9.3.2 函数依赖 251
9.3.3 三个范式 252
9.4 数据仓库建模基本理论 254
9.4.1 数据仓库建模目标 254
9.4.2 E-R实体模型 254
9.4.3 维度模型 256
9.4.4 建模方法总结 260
9.4.5 星型模式,雪花模式与星座模式 260
9.4.6 模式的选择 262
9.5 同步策略 263
9.5.1 维度表同步策略 266
9.5.2 事务型事实表同步策略 266
9.5.3 周期型事实表同步策略 266
第1章 Hive简介 1
1.1 Hive产生背景 3
1.2 什么是Hive 3
1.3 Hive优缺点 4
1.4 Hive框架原理 4
1.5 Hive的工作原理 5
1.6 Hive与传统数据库的比较 6
1.7 Hive安装 8
1.7.1 Apache 版本Hadoop环境构建 8
1.7.2 Hadoop安装 28
1.7.3 Hive安装 41
1.7.4 将本地文件导入Hive案例 43
1.7.5 MySQL安装 45
1.7.6 Hive元数据配置到MySQL 48
1.7.7 多窗口启动Hive测试 49
第2章 Hive访问与参数配置 52
2.1 Hive访问 54
2.1.1 交互式访问 54
2.1.2 hiveserver2访问 58
2.2 第三方访问工具 59
2.2.1 下载与安装 60
2.2.2 配置DBeaver连接Hive。 63
2.2.3 使用DBeaver 70
2.3 Hive常见属性配置 74
2.3.1 Hive数据仓库位置配置 74
2.3.2 查询后信息显示配置 74
2.3.3 Hive运行日志信息配置 75
2.3.4 参数配置方式 75
第3章 Hive数据类型与基本操作 78
3.1 Hive的数据类型与存储格式 80
3.1.1 基础数据类型 80
3.1.2 复杂数据类型 83
3.1.3 类型转化 85
3.1.4 Hive的存储格式 85
3.1.5 Hive文本文件数据编码 87
3.2 DDL数据定义 88
3.2.1 创建数据库 88
3.2.2 查看数据库 88
3.2.3 修改数据库 89
3.2.4 删除数据库 89
3.2.5 创建表 90
3.2.6 管理表 91
3.2.7 外部表 93
3.2.8 管理表与外部表的互相转换 96
3.2.9 分区表 99
3.2.10 桶表 105
3.2.11 视图 106
3.2.12 修改表 106
3.2.13 删除表 108
3.3 DML数据操作 109
3.3.1 数据导入 109
3.3.2 数据导出 111
3.3.3 清除表中数据(Truncate) 112
第4章 Hive DQL操作 114
4.1 Hive查询语法 116
4.2 基本查询 116
4.2.1 全表和特定列查询 116
4.2.2 列别名 117
4.2.3 算术运算符 117
4.2.4 常用函数 118
4.2.5 Limit语句 118
4.3 Where语句 118
4.3.1 比较运算符 118
4.3.2 Like和RLike 120
4.3.3 逻辑运算符 120
4.4 分组 121
4.4.1 Group By语句 121
4.4.2 Having语句 121
4.5 JOIN语句 122
4.5.1 等值JOIN 122
4.5.2 表的别名 122
4.5.3 内连接 122
4.5.4 左外连接 122
4.5.5 右外连接 123
4.5.6 满外连接 123
4.5.7 多表连接 123
4.5.8 笛卡尔积 124
4.5.9 连接谓词中不支持or 124
4.6 排序 125
4.6.1 全局排序(Order By) 125
4.6.2 按照别名排序 125
4.6.3 多个列排序 125
4.6.4 每个MapReduce内部排序(Sort By) 125
4.6.5 分区排序(Distribute By) 126
4.6.6 Cluster By 126
4.7 分桶及抽样查询 127
4.7.1 分桶表数据存储 127
4.7.2 分桶抽样查询 130
4.8 with...as...语句 131
4.9 其他常用查询函数 133
4.9.1 空字段赋值 133
4.9.2 CASE WHEN 134
4.9.3 行转列 135
4.9.4 列转行 136
4.9.5 窗口函数 138
4.9.6 ROW_NUMBER/RANK/DENSE_RANK 141
4.10 Hive语句执行顺序 143
第5章 Hive函数 148
5.1 Hive内置函数 150
5.2 自定义函数 159
5.2.1 自定义UDF函数 160
5.2.2 自定义 UDAF 函数 161
5.2.3 自定义UDTF函数 164
5.3 临时函数与永久函数 167
5.3.1 临时函数 167
5.3.2 永久函数 167
第6章 压缩与存储 170
6.1 确定安装编/解码器 172
6.2 选择一种压缩编/解码器 172
6.3 Hadoop压缩配置 176
6.4 开启Map输出阶段压缩 177
6.5 开启Reduce输出阶段压缩 178
6.6 Hadoop源码编译支持Snappy压缩 179
6.6.1 资源准备 179
6.6.2 jar和maven包安装 179
6.6.3 编译源码 180
6.6.4 修改Hadoop集群具有Snappy压缩方式 181
6.7 文件存储格式 184
6.7.1 列式存储和行式存储 184
6.7.2 TextFile格式 185
6.7.3 ORC格式 185
6.7.4 Parquet格式 186
6.7.5 主流文件存储格式对比实验 187
6.8 存储和压缩结合 190
第7章 Hive调优 193
7.1 Fetch抓取 195
7.2 本地模式 196
7.3 表的优化 197
7.3.1 小表,大表Join 197
7.3.2 大表Join大表 198
7.3.3 MapJoin 201
7.3.4 Group By 202
7.3.5 Count(Distinct) 去重统计 203
7.3.6 笛卡尔积 204
7.3.7 行列过滤 204
7.3.8 动态分区调整 204
7.4 合理设置Map数 206
7.5 小文件进行合并 206
7.6 复杂文件增加Map数 207
7.7 合理设置Reduce数 207
7.8 并行执行 208
7.9 严格模式 208
7.10 JVM重用 209
7.11 推测执行 210
7.12 执行计划(Explain) 210
7.13 数据倾斜 211
第8章 Hive与HBase集成 218
8.1 Hive与HBase集成原理 220
8.2 应用场景 220
8.3 环境准备 221
8.3.1 Hive与HBase版本兼容性 221
8.3.2 编译hive-hbase-handler.jar包 222
8.3.3 启动Zookeeper,Hadoop,HBase 233
8.4 应用案例 234
8.5 Hive over HBase和Hive over HDFS性能比较分析 236
8.5.1 查询性能比较: 236
8.5.2 性能瓶颈分析 238
8.5.3 Hive over HBase优化 240
第9章 数据仓库设计 242
9.1 数据仓库简介 244
9.1.1 什么数据仓库 244
9.1.2 数据仓库特点 244
9.1.3 Hive数据仓库工具 246
9.2 数据仓库分层设计 247
9.3 范式理论 250
9.3.1 范式理论概述 250
9.3.2 函数依赖 251
9.3.3 三个范式 252
9.4 数据仓库建模基本理论 254
9.4.1 数据仓库建模目标 254
9.4.2 E-R实体模型 254
9.4.3 维度模型 256
9.4.4 建模方法总结 260
9.4.5 星型模式,雪花模式与星座模式 260
9.4.6 模式的选择 262
9.5 同步策略 263
9.5.1 维度表同步策略 266
9.5.2 事务型事实表同步策略 266
9.5.3 周期型事实表同步策略 266