《Hive性能调优实战》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:林志煌
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2020
  • ISBN:9787111644323
  • 页数:284 页
图书介绍:

第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