书籍详情
《套装2册 Hive性能调优实战+Hive实战  数据库管理 Hadoop数据仓库解决方案教程  Ha》[53M]百度网盘|亲测有效|pdf下载
  • 套装2册 Hive性能调优实战+Hive实战 数据库管理 Hadoop数据仓库解决方案教程 Ha

  • 热度:8609
  • 上架时间:2024-06-30 08:52:20
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

书   名: hive性能调优实战
 图书定价: 89元
 作 者: 林志煌
 出 版 社: 机械工业出版社
 出版日期: 2019-12-23
 ISBN 号: 9787111644323
 开   本: 16开
 页   数: 296
 版   次: 1-1

本书是一本关于Apache Hive调优的书籍,旨在介绍如何进行Hive的调优,以及调优时如果使用的工具。本书在开始会介绍Hive优化多面性,以及如何在众多的调优技巧中寻找一条调优的思路。接着介绍Hive安装,为了方便读者的练习,我们主要介绍Docker安装Hive的方式和使用cloudera提供工具Hive的方式。介绍完安装Hive方式,我们会继续介绍Hive在优化时涉及的Hadoop组件和Hive工具。后会介绍如何监控Hive在运行时出现性能问题。本书适合对大数据开发感兴趣的爱好者、对Hive优化有兴趣的人员使用。


前言
第1章 举例感受Hive性能调优的多样性 1
1.1 感受改写SQL对性能的影响 1
1.1.1 数据准备 1
1.1.2 union案例 4
1.1.3 改写SQL实现union的优化 5
1.1.4 失败的union调优 8
1.2 感受调整数据块大小对性能的影响 10
1.2.1 数据准备 11
1.2.2 案例比较 11
1.3 感受不同数据格式对性能的提升 15
1.3.1 数据准备 15
1.3.2 案例比较 16
1.4 感受不同的表设计对性能的影响 18
1.4.1 数据准备 19
1.4.2 案例比较 21
1.5 调优其实不难 24
第2章 Hive问题排查与调优思路 25
2.1 小白推演Hive的优化方法 25
2.1.1 类比关系型数据库的调优 25
2.1.2 学习大数据分布式计算的基本原理 28
2.1.3 学习使用YARN提供的日志 31
2.1.4 干预SQL的运行方式 33
2.2 老工对Hive的调优理解 36
2.2.1 从一个过度优化案例说起 36
2.2.2 编码和调优的原则 43
2.2.3 Hive程序相关规范 49
2.3 总结调优的一般性过程 51
第3章 环境搭建 53
3.1 Docker基础 53
3.1.1 Docker介绍 54
3.1.2 安装Docker 56
3.1.3 常见的Docker使用与管理命令 58
3.1.4 使用Dockerfile构建服务镜像 60
3.1.5 Dockerfile语法 63
3.2 Cloudera Docker搭建伪分布式环境 66
3.3 Docker搭建分布式集群 68
3.3.1 构建JDK镜像 69
3.3.2 构建Hadoop镜像 70
3.3.3 构建Hive镜像 72
3.3.4 启动集群 73
3.4 CDM搭建分布式集群 75
3.4.1 Cloudera Manager组件 75
3.4.2 Docker构建软件安装内部源 76
3.4.3 CDM安装分布式集群 79
3.5 使用GitHub开源项目构建集群 87
第4章 Hive及其相关大数据组件 89
4.1 Hive架构 89
4.1.1 Hive 1.x版本基本结构 89
4.1.2 Hive元数据 91
4.2 YARN组件 97
4.2.1 YARN的优点 97
4.2.2 YARN基本组成 97
4.2.3 YARN工作流程 99
4.2.4 YARN资源调度器 100
4.3 HDFS架构 102
4.3.1 常见HDFS优化 102
4.3.2 HDFS基本架构和读写流程 103
4.3.3 HDFS高可用架构 105
4.3.4 NameNode联盟 107
4.4 计算引擎 109
4.4.1 MapReduce计算引擎 109
4.4.2 Tez计算引擎 111
4.4.3 LLAP长时在线与处理程序 113
4.4.4 Spark计算引擎 115
第5章 深入MapReduce计算引擎 117
5.1 MapReduce整体处理过程 117
5.2 MapReduce作业输入 118
5.2.1 输入格式类InputFormat 118
5.2.2 InputFormat在Hive中的使用 120
5.3 MapReduce的Mapper 121
5.3.1 Mapper类 121
5.3.2 Hive中与Mapper相关的配置 123
5.4 MapReduce的Reducer 125
5.4.1 Reducer类 126
5.4.2 Hive中与Reducer相关的配置 127
5.5 MapReduce的Shuffle 128
5.6 MapReduce的Map端聚合 129
5.6.1 Combiner类 129
5.6.2 Map端的聚合与Hive配置 130
5.7 MapReduce作业输出 131
5.7.1 OutputFormat作业输出 132
5.7.2 Hive配置与作业输出 133
5.8 MapReduce作业与Hive配置 134
5.9 MapReduce与Tez对比 135
5.9.1 通过案例代码对比MapReduce和Tez 135
5.9.2 Hive中Tez和LLAP相关的配置 141
第6章 HiveSQL执行计划 143
6.1 查看SQL的执行计划 143
6.1.1 查看执行计划的基本信息 144
6.1.2 查看执行计划的扩展信息 148
6.1.3 查看SQL数据输入依赖的信息 148
6.1.4 查看SQL操作涉及的相关权限信息 152
6.1.5 查看SQL的向量化描述信息 152
6.2 简单SQL的执行计划解读 158
6.3 带普通函数/操作符SQL的执行计划解读 161
6.3.1 执行计划解读 161
6.3.2 普通函数和操作符 162
6.4 带聚合函数的SQL执行计划解读 164
6.4.1 在Reduce阶段聚合的SQL 164
6.4.2 在Map和Reduce阶段聚合的SQL 167
6.4.3分组聚合 169
6.5 带窗口/分析函数的SQL执行计划解读 172
6.6 表连接的SQL执行计划解读 175
6.6.1 Hive表连接的类型 175
6.6.2 内连接和外连接 176
6.6.3 左半连接 178
第7章 Hive数据处理模式 181
7.1 过滤模式 181
7.1.1 where子句过滤模式 182
7.1.2 having子句过滤 183
7.1.3 distinct子句过滤 184
7.1.4 表过滤 186
7.1.5 分区过滤 188
7.1.6 分桶过滤 189
7.1.7 索引过滤 191
7.1.8 列过滤 191
7.2 聚合模式 192
7.2.1 distinct模式 193
7.2.2 count(列)、count(*)、count(1)行计数聚合模式 194
7.2.3 可计算中间结果的聚合模式 197
7.2.4 不可计算中间结果的聚合模式 199
7.3 连接模式 200
7.3.1 普通Map连接 201
7.3.2 桶的Map连接和排序合并桶的Map连接 207
7.3.3 倾斜连接 209
7.3.4 表连接与基于成本的优化器 210
第8章 YARN日志 212
8.1 查看YARN日志的方式 212
8.1.1 ResourceManager Web UI界面 212
8.1.2 JobHistory Web UI界面 215
8.2 快速查看集群概况 216
8.2.1 Cluster Metrics集群度量指标 217
8.2.2 Cluster Node Metrics集群节点的度量信息 218
8.2.3 Cluster Overview集群概况 220
8.3 查看集群节点概况 221
8.3.1 节点列表概况 221
8.3.2 节点详细信息 223
8.3.3 节点作业信息 224
8.4 查看集群的队列调度情况 226
8.5 查看集群作业运行信息 230
8.5.1 集群作业运行状态 230
8.5.2 查看作业运行的基本信息 231
8.5.3 查看作业计数器 232
第9章 数据存储 236
9.1 文件存储格式之Apache ORC 236
9.1.1 ORC的结构 237
9.1.2 ORC的数据类型 238
9.1.3 ACID事务的支持 240
9.2 与ORC相关的Hive配置 241
9.2.1 表配置属性 241
9.2.2 Hive表的配置属性 241
9.3 文件存储格式之Apache Parquet 242
9.3.1 Parquet基本结构 243
9.3.2 Parquet的相关配置 245
9.4 数据归档 245
第10章 发现并优化Hive中的性能问题 247
10.1 监控Hive数据库的状态 247
10.2 监控当前集群状态 253
10.3 定位性能瓶颈 258
10.3.1 使用HS2 WebUI排除非大数据组件的问题 258
10.3.2 排查长时等待调度 260
10.3.3 Map任务读取小文件和大文件 261
10.3.4 Reduce的数据倾斜 262
10.3.5 缓慢的Shuffle 264
10.3.6 集群资源的限制 265
10.4 数据倾斜 266
10.4.1 不可拆分大文件引发的数据倾斜 266
10.4.2 业务无关的数据引发的数据倾斜 267
10.4.3 多维聚合计算数据膨胀引起的数据倾斜 268
10.4.4 无法削减中间结果的数据量引发的数据倾斜 268
10.4.5 两个Hive数据表连接时引发的数据倾斜 269
第11章 Hive知识体系总结 270
11.1 Hive知识体系 270
11.2 数据粒度 271
11.3 SQL相关 275
11.3.1 select查询语句 276
11.3.2 数据定义语言(DDL) 276
11.3.3 数据控制语言(DML) 279
11.3.4 用户自定义函数(UDF) 280
11.4 文件操作 281

广告语:
作者曾在国内互联网头部公司从事大数据项目研发。百度无线搜索前负责人胡嵩、字节跳动算法团队技术总监丁锐等6位大咖力荐。基于大数据生态介绍Hive性能调优所涉及的Hadoop组件和Hive工具,适用于Hive的多个版本

Hive作为Hadoop生态的重要组成部分,以其稳定和简单易用成为了当前企业在搭建大数据平台及构建企业级数据仓库时使用较为普遍的大数据组件之一。
目前,图书市场上关于Hive的书籍比较少,而专题介绍Hive性能调优的图书就更少了,几乎是个空白。有些书籍中涉及Hive性能调优,但也只是浅尝辄止。笔者认为,Hive是构建在Hadoop生态之上的,其性能调优其实与自身及其关联的大数据组件都有很密切的联系。鉴于市面上还没有从Hadoop的整体和全局介绍Hive性能调优的书籍,笔者编写了这本书。这本书除了总结和完善自己的知识体系外,还希望能将自己多年的大数据开发经验地总结出来,供读者借鉴,从而让他们在学习和工作中少走弯路。
考虑到很多调优方法的着眼点有一定的相似性,这些方法一般可以适用于多个Hive版本,所以本书在讲解时穿插了Hive 1.x、Hive 2.x和Hive 3.x等多个版本的内容。
本书特色
1. 内容非常、实用
本书从语法、表模型设计、执行计划和计算引擎等多个角度地介绍了Hive性能调优的相关知识。为了避免纸上谈兵,书中在讲解知识点时列举了大量的实例帮助读者理解。
2. 从原理谈优化
本书所介绍的实例都是从原理谈优化,让读者知其然也知其所以然。例如,在介绍HiveSQL调优时,我们会转换成计算引擎执行的等价代码,让读者知道HiveSQL的实际运行流程,从而直观地理解其可能引发的性能问题。
3. 适用于多个Hive版本
本书总结了Hive性能调优的方法论,并总结了Hive性能调优需要关注的技术点。这些方法论和技术点无论是现在还是将来,只要是将Hive构建于Hadoop大数据平台之上,就都可以借鉴和使用。
本书内容
第1章 举例感受Hive性能调优的多样性
本章用代码演示了各种优化技巧,从多个完全不同的角度介绍了Hive性能调优的多样性,例如改写SQL、调整数据存储的文件块、改变数据存储格式、设计Hive表等。
第2章 Hive问题排查与调优思路
本章介绍了Hive性能调优的整个过程,并给出了作者对于Hive调优过程中的一些思考,如编码和调优的原则、Hive SQL的相关开发规范等。通过阅读本章内容,读者可以对Hive性能调优的过程和工具有一个整体认识。
第3章 环境搭建
本章介绍了多种快速部署大数据开发环境的方式。考虑到不同读者手头的计算机资源有限,加之很多开发者并不喜欢“折腾”基础环境的搭建,书中介绍了一些比较快捷搭建环境的方式,涉及Docker和Cloudera Manager等技术。通过阅读本章内容,读者可以快速构建自己的大数据开发环境。
第4章 Hive及其相关大数据组件
本章比较地介绍了Hive及其相关大数据组件的基础知识。因为Hive构建于Hadoop大数据平台之上,其数据存储依赖HDFS,而HiveSQL的执行引擎依赖MapReduce、Spark和Tez等分布式计算引擎,其作业资源调度依赖YARN和Mesos等大数据资源调度管理组件,所以脱离Hadoop生态讲Hive性能调优无异于隔靴搔痒,解决不了根本问题。
第5章 深入MapReduce计算引擎
本章详细介绍了MapReduce计算引擎的相关内容。之所以选择MapReduce,首先是因为它足够简单,没有过多对高层接口做封装,而是将所有业务计算都拆分成Map和Reduce进行处理,易于读者理解;其次是因为大多数分布式计算框架处理数据的基本原理和MapReduce大同小异,学习MapReduce对于日后学习Spark和Tez有举一反三的效果。
第6章 Hive SQL执行计划
本章带领读者地学习了Hive SQL的相关知识。Hive SQL执行计划描绘了SQL实际执行的整体轮廓。通过执行计划,可以了解SQL程序在转换成相应的计算引擎时的执行逻辑。掌握了执行逻辑,就能更好地了解程序出现的瓶颈,从而便于用户更有针对性地进行优化。
第7章 Hive数据处理模式
本章介绍了Hive的数据处理模式。Hive SQL的语法多种多样,但是从数据处理的角度而言,这些语法本质上可以被分成三种模式,即过滤模式、聚合模式和连接模式。通过这些计算模式,读者可以了解它们的优缺点,从而提升SQL优化水平。
第8章 YARN日志
YARN日志是每个Hive调优人员必然会用到的工具。本章着重介绍了YARN日志,并对其进行解读。如果说执行计划提供了一个定性优化依据,那么YARN日志提供的就是一个定量优化依据。
第9章 数据存储
本章着重介绍了Hive数据存储的相关知识。数据存储是Hive操作数据的基础,选择一个合适的底层数据存储文件格式,即使在不改变当前Hive SQL的情况下,其性能也可以得到大幅提升。
第10章 发现并优化Hive中的性能问题
本章运用前面章节所介绍的性能问题定位工具,来定位Hive中常见的性能问题。对于Hive的使用者而言,借助Hadoop生态组件中所提供的工具就足以应对日常生产环境中所产生的问题。
第11章 Hive知识体系总结
本章简要梳理了Hive的整个知识体系,帮助读者比较全面地了解一项技术所涉及的方方面面,也有助于读者在学习该技术时形成自己的调优体系。
配书资料获取方式
本书涉及的所有源代码需要读者自行下载。请在华章公司的网站www.hzbook.com上搜索到本书,然后单击“资料下载”按钮,即可在本书页面上找到下载链接。
本书读者对象
* Hive初学者与进阶读者;
* 大数据开发工程师;
* 大数据开发项目经理;
*培训机构的学员;
* 高校相关的学生。
本书作者
本书由林志煌编写。由于笔者的经验和能力所限,书中可能还有一些疏漏和不当之处,敬请读者指正,以便于及时改正。联系邮箱:hzbook2017@163.com。
编著者

基本信息

书名:Hive实战

定价:69.00元

作者:[美] 斯科特·肖(Scott Shaw)、[南] 安德烈亚斯·弗

出版社:人民邮电出版社

出版日期:2018-11-01

ISBN:97871154939

字数:

页码:

版次:

装帧:平装-胶订

开本:16开

商品重量:

内容提要




Hive“出身名门”,是*初由Facebook公开发的数据仓库工具。它简单且容易上手,是深入学习Hadoop技术的一个很好的切入点。本书由数据库专家和大数据专家共同撰写,具体内容括:Hive的安装和配置,其核心组件和架构,Hive数据操作语言,如何加载、查询和分析数据,Hive的性能调优以及安全性,等等。本书旨在为读者打牢基础,从而踏上的大数据处理之旅。

作者介绍




斯科特·肖(Scott Shaw)Hortonworks公解决方案工程师,曾为微软公的商业智能项目担任顾问,拥有近20年的数据管理经验。作为演讲者和培训师,他致力于普及分布式计算、大数据概念、商业智能、Hive和Hadoop。安德烈亚斯·弗朗索瓦·弗穆尔恩(Andreas Fran?ois Vermeulen)集数据科学家、数据仓库架构师、博士研究员、企业顾问等角色于一身,曾获“英国数据科学技术先锋”称号,广泛涉足数据工程、商业智能、云架构、深度学习等多个领域。安库尔·古普塔(Ankur Gupta)Hortonworks公解决方案工程师,曾在Oracle公担任顾问,有多年从事数据架构师和Oracle数据库管理员的经验,著有Oracle GoldenGate 11g Complete Cookbook。戴维·杰鲁姆加德(David Kjerrumgaard)Streamlio公解决方案架构主管,曾是Hortonworks公的架构师和数据流实践主管,拥有Certified Developer for Apache Hadoop认证,精通Hive、Kafka、Spark、Storm等技术。

目录




第 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. 对日期列进行高效分区 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 1

6.3 用Hive 访问数据 5

6.3.1 外部表 5

6.3.2 LOAD DATA语句 6

6.4 在Hive中装载增量变更数据 7

6.5 Hive流处理 7

6.6 小结 8

第7章 查询半结构化数据 9

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 执行计划 2

9.5.3 性能检查表小结 212

第 章 Hive的安全性 213

.1 数据安全性的几个方面 213

.1.1 身份认证 214

.1.2 授权 214

.1.3 管理 214

.1.4 审计 214

.1.5 数据保护 214

.2 Hadoop的安全性 215

.3 Hive的安全性 215

.3.1 默认授权模式 215

.3.2 基于存储的授权模式 216

.3.3 基于SQL标准的授权模式 217

.3.4 管理通过SQL进行的访问 218

.4 使用Ranger进行Hive授权 219

.4.1 访问Ranger用户界面 220

.4.2 创建Ranger策略 220

.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

编辑




面对与日俱增的海量数据,能否从中提取商业价值直接关乎公的市场竞争力。Hive是大数据生态圈必不可少的数据仓库,它为存储在Hadoop文件中的数据提供便捷的类SQL查询、统计和分析,从而为公进入大数据生态圈并迈向商业智能铺平道路。本书着眼于Hive在真实环境中的应用,内容囊括Hive的方方面面,是针对大数据分析人员的实践参考指南。- 理解Hive的架构和数据类型- 高效执行DML操作- 查询半结构化数据- 巧妙提升Hive的性能- 了解Hive的安全性及发展趋势


^_^:46aa6b3bd2ecaa15ba1687968b839415