注重体验与质量的电子书资源下载网站
分类于: 职场办公 人工智能
简介
Hive实战 豆 0.0分
资源最后更新于 2020-11-26 07:31:03
作者:[美] 斯科特·肖
译者:唐富年
出版社:人民邮电出版社
出版日期:2018-01
ISBN:9787115493910
文件格式: pdf
简介· · · · · ·
Hive“出身名门”,是最初由Facebook公司开发的数据仓库工具。它简单且容易上手,是深入学习Hadoop技术的一个很好的切入点。本书由数据库专家和大数据专家共同撰写,具体内容包括:Hive的安装和配置,其核心组件和架构,Hive数据操作语言,如何加载、查询和分析数据,Hive的性能调优以及安全性,等等。本书旨在为读者打牢基础,从而踏上专业的大数据处理之旅。
目录
第1章 为Hive打好基础:Hadoop 1
1.1 一只小象出生了 2
1.2 Hadoop的结构 3
1.3 数据冗余 6
1.3.1 传统的高可用性 6
1.3.2 Hadoop的高可用性 9
1.4 MapReduce处理 12
1.4.1 超越MapReduce 16
1.4.2 YARN和现代数据架构 17
1.4.3 Hadoop和开源社区 19
1.4.4 我们身在何处 22
第2章 Hive简介 24
2.1 Hadoop发行版 25
2.2 集群架构 27
2.3 Hive的安装 30
2.4 探寻你的方式 32
2.5 Hive CLI 35
第3章 Hive架构 37
3.1 Hive组件 37
3.2 HCatalog 38
3.3 HiveServer2 40
3.4 客户端工具 42
3.5 执行引擎:Tez 46
第4章 Hive表DDL 48
4.1 schema-on-read 48
4.2 Hive数据模型 49
4.2.1 模式/数据库 49
4.2.2 为什么使用多个模式/数据库 49
4.2.3 创建数据库 49
4.2.4 更改数据库 50
4.2.5 删除数据库 50
4.2.6 列出数据库 51
4.3 Hive中的数据类型 51
4.3.1 基本数据类型 51
4.3.2 选择数据类型 51
4.3.3 复杂数据类型 52
4.4 表 53
4.4.1 创建表 53
4.4.2 列出表 54
4.4.3 内部表/外部表 54
4.4.4 内部表/受控表 55
4.4.5 内部表/外部表示例 55
4.4.6 表的属性 59
4.4.7 生成已有表的CREATE TABLE命令 60
4.4.8 分区和分桶 61
4.4.9 分区注意事项 63
4.4.10 对日期列进行高效分区 63
4.4.11 分桶的注意事项 65
4.4.12 更改表 66
4.4.13 ORC文件格式 67
4.4.14 更改表分区 68
4.4.15 修改列 72
4.4.16 删除表/分区 72
4.4.17 保护表/分区 73
4.4.18 其他CREATE TABLE命令选项 73
第5章 数据操作语言 75
5.1 将数据装载到表中 75
5.1.1 使用存储在HDFS中的文件装载数据 75
5.1.2 使用查询装载数据 77
5.1.3 将查询到的数据写入文件系统 80
5.1.4 直接向表插入值 81
5.1.5 直接更新表中数据 83
5.1.6 在表中直接删除数据 84
5.1.7 创建结构相同的表 85
5.2 连接 86
5.2.1 使用等值连接来整合表 86
5.2.2 使用外连接 87
5.2.3 使用左半连接 89
5.2.4 用单次MapReduce实现连接 90
5.2.5 最后使用最大的表 91
5.2.6 事务处理 92
5.2.7 ACID是什么,以及为什么要用到它 92
5.2.8 Hive配置 92
第6章 将数据装载到Hive 94
6.1 装载数据之前的设计注意事项 94
6.2 将数据装载到HDFS 95
6.2.1 Ambari文件视图 95
6.2.2 Hadoop命令行 97
6.2.3 HDFS的NFS Gateway 97
6.2.4 Sqoop 98
6.2.5 Apache NiFi 101
6.3 用Hive访问数据 105
6.3.1 外部表 105
6.3.2 LOAD DATA语句 106
6.4 在Hive中装载增量变更数据 107
6.5 Hive流处理 107
6.6 小结 108
第7章 查询半结构化数据 109
7.1 点击流数据 111
7.1.1 摄取数据 113
7.1.2 创建模式 116
7.1.3 装载数据 116
7.1.4 查询数据 116
7.2 摄取JSON数据 119
7.2.1 使用UDF查询JSON 121
7.2.2 使用SerDe访问JSON 122
第8章 Hive分析 125
8.1 构建分析模型 125
8.1.1 使用太阳模型获取需求 125
8.1.2 将太阳模型转换为星型模式 129
8.1.3 构建数据仓库 137
8.2 评估分析模型 140
8.2.1 评估太阳模型 140
8.2.2 评估聚合结果 142
8.2.3 评估数据集市 143
8.3 掌握数据仓库管理 144
8.3.1 必备条件 144
8.3.2 检索数据库 144
8.3.3 评估数据库 147
8.3.4 过程数据库 160
8.3.5 转换数据库 185
8.3.6 你掌握了什么 192
8.3.7 组织数据库 192
8.3.8 报表数据库 196
8.3.9 示例报表 197
8.4 高级分析 199
8.5 接下来学什么 199
第9章 Hive性能调优 200
9.1 Hive性能检查表 200
9.2 执行引擎 201
9.2.1 MapReduce 201
9.2.2 Tez 201
9.3 存储格式 203
9.3.1 ORC格式 203
9.3.2 Parquet格式 205
9.4 矢量化查询执行 206
9.5 查询执行计划 206
9.5.1 基于代价的优化 208
9.5.2 执行计划 210
9.5.3 性能检查表小结 212
第10章 Hive的安全性 213
10.1 数据安全性的几个方面 213
10.1.1 身份认证 214
10.1.2 授权 214
10.1.3 管理 214
10.1.4 审计 214
10.1.5 数据保护 214
10.2 Hadoop的安全性 215
10.3 Hive的安全性 215
10.3.1 默认授权模式 215
10.3.2 基于存储的授权模式 216
10.3.3 基于SQL标准的授权模式 217
10.3.4 管理通过SQL进行的访问 218
10.4 使用Ranger进行Hive授权 219
10.4.1 访问Ranger用户界面 220
10.4.2 创建Ranger策略 220
10.4.3 使用Ranger审计 222
第11章 Hive的未来 224
11.1 LLAP 224
11.2 Hive-on-Spark 225
11.3 Hive:ACID和MERGE 225
11.4 可调隔离等级 225
11.5 ROLAP/基于立方体的分析 226
11.6 HiveServer2的发展 226
11.7 面向不同工作负载的多个HiveServer2实例 226
附录A 建立大数据团队 227
附录B Hive函数 231
1.1 一只小象出生了 2
1.2 Hadoop的结构 3
1.3 数据冗余 6
1.3.1 传统的高可用性 6
1.3.2 Hadoop的高可用性 9
1.4 MapReduce处理 12
1.4.1 超越MapReduce 16
1.4.2 YARN和现代数据架构 17
1.4.3 Hadoop和开源社区 19
1.4.4 我们身在何处 22
第2章 Hive简介 24
2.1 Hadoop发行版 25
2.2 集群架构 27
2.3 Hive的安装 30
2.4 探寻你的方式 32
2.5 Hive CLI 35
第3章 Hive架构 37
3.1 Hive组件 37
3.2 HCatalog 38
3.3 HiveServer2 40
3.4 客户端工具 42
3.5 执行引擎:Tez 46
第4章 Hive表DDL 48
4.1 schema-on-read 48
4.2 Hive数据模型 49
4.2.1 模式/数据库 49
4.2.2 为什么使用多个模式/数据库 49
4.2.3 创建数据库 49
4.2.4 更改数据库 50
4.2.5 删除数据库 50
4.2.6 列出数据库 51
4.3 Hive中的数据类型 51
4.3.1 基本数据类型 51
4.3.2 选择数据类型 51
4.3.3 复杂数据类型 52
4.4 表 53
4.4.1 创建表 53
4.4.2 列出表 54
4.4.3 内部表/外部表 54
4.4.4 内部表/受控表 55
4.4.5 内部表/外部表示例 55
4.4.6 表的属性 59
4.4.7 生成已有表的CREATE TABLE命令 60
4.4.8 分区和分桶 61
4.4.9 分区注意事项 63
4.4.10 对日期列进行高效分区 63
4.4.11 分桶的注意事项 65
4.4.12 更改表 66
4.4.13 ORC文件格式 67
4.4.14 更改表分区 68
4.4.15 修改列 72
4.4.16 删除表/分区 72
4.4.17 保护表/分区 73
4.4.18 其他CREATE TABLE命令选项 73
第5章 数据操作语言 75
5.1 将数据装载到表中 75
5.1.1 使用存储在HDFS中的文件装载数据 75
5.1.2 使用查询装载数据 77
5.1.3 将查询到的数据写入文件系统 80
5.1.4 直接向表插入值 81
5.1.5 直接更新表中数据 83
5.1.6 在表中直接删除数据 84
5.1.7 创建结构相同的表 85
5.2 连接 86
5.2.1 使用等值连接来整合表 86
5.2.2 使用外连接 87
5.2.3 使用左半连接 89
5.2.4 用单次MapReduce实现连接 90
5.2.5 最后使用最大的表 91
5.2.6 事务处理 92
5.2.7 ACID是什么,以及为什么要用到它 92
5.2.8 Hive配置 92
第6章 将数据装载到Hive 94
6.1 装载数据之前的设计注意事项 94
6.2 将数据装载到HDFS 95
6.2.1 Ambari文件视图 95
6.2.2 Hadoop命令行 97
6.2.3 HDFS的NFS Gateway 97
6.2.4 Sqoop 98
6.2.5 Apache NiFi 101
6.3 用Hive访问数据 105
6.3.1 外部表 105
6.3.2 LOAD DATA语句 106
6.4 在Hive中装载增量变更数据 107
6.5 Hive流处理 107
6.6 小结 108
第7章 查询半结构化数据 109
7.1 点击流数据 111
7.1.1 摄取数据 113
7.1.2 创建模式 116
7.1.3 装载数据 116
7.1.4 查询数据 116
7.2 摄取JSON数据 119
7.2.1 使用UDF查询JSON 121
7.2.2 使用SerDe访问JSON 122
第8章 Hive分析 125
8.1 构建分析模型 125
8.1.1 使用太阳模型获取需求 125
8.1.2 将太阳模型转换为星型模式 129
8.1.3 构建数据仓库 137
8.2 评估分析模型 140
8.2.1 评估太阳模型 140
8.2.2 评估聚合结果 142
8.2.3 评估数据集市 143
8.3 掌握数据仓库管理 144
8.3.1 必备条件 144
8.3.2 检索数据库 144
8.3.3 评估数据库 147
8.3.4 过程数据库 160
8.3.5 转换数据库 185
8.3.6 你掌握了什么 192
8.3.7 组织数据库 192
8.3.8 报表数据库 196
8.3.9 示例报表 197
8.4 高级分析 199
8.5 接下来学什么 199
第9章 Hive性能调优 200
9.1 Hive性能检查表 200
9.2 执行引擎 201
9.2.1 MapReduce 201
9.2.2 Tez 201
9.3 存储格式 203
9.3.1 ORC格式 203
9.3.2 Parquet格式 205
9.4 矢量化查询执行 206
9.5 查询执行计划 206
9.5.1 基于代价的优化 208
9.5.2 执行计划 210
9.5.3 性能检查表小结 212
第10章 Hive的安全性 213
10.1 数据安全性的几个方面 213
10.1.1 身份认证 214
10.1.2 授权 214
10.1.3 管理 214
10.1.4 审计 214
10.1.5 数据保护 214
10.2 Hadoop的安全性 215
10.3 Hive的安全性 215
10.3.1 默认授权模式 215
10.3.2 基于存储的授权模式 216
10.3.3 基于SQL标准的授权模式 217
10.3.4 管理通过SQL进行的访问 218
10.4 使用Ranger进行Hive授权 219
10.4.1 访问Ranger用户界面 220
10.4.2 创建Ranger策略 220
10.4.3 使用Ranger审计 222
第11章 Hive的未来 224
11.1 LLAP 224
11.2 Hive-on-Spark 225
11.3 Hive:ACID和MERGE 225
11.4 可调隔离等级 225
11.5 ROLAP/基于立方体的分析 226
11.6 HiveServer2的发展 226
11.7 面向不同工作负载的多个HiveServer2实例 226
附录A 建立大数据团队 227
附录B Hive函数 231