当前位置:主页 > 书籍配套资源 > Hive实战配套资源
《Hive性能调优实战》源代码

《Hive性能调优实战》源代码

  • 更新:2022-01-28
  • 大小:1.81 MB
  • 类别:Hive实战
  • 作者:林志煌
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书是一本关于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 安装Docker56
  • 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 输入格式类InputFormat118
  • 5.2.2 InputFormat在Hive中的使用120
  • 5.3 MapReduce的Mapper121
  • 5.3.1 Mapper类121
  • 5.3.2 Hive中与Mapper相关的配置123
  • 5.4 MapReduce的Reducer125
  • 5.4.1 Reducer类126
  • 5.4.2 Hive中与Reducer相关的配置127
  • 5.5 MapReduce的Shuffle128
  • 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和Tez135
  • 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阶段聚合的SQL164
  • 6.4.2 在Map和Reduce阶段聚合的SQL167
  • 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 ORC236
  • 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 Parquet242
  • 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 缓慢的Shuffle264
  • 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

资源下载

资源下载地址1:https://pan.baidu.com/s/1ZGm1CB-AfXSWc2CLKITe6Q

网友留言