Hive性能调优实战

Hive性能调优实战

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

站在工程的角度介绍Hive性能调优,注重调优方法的可落地性。

内容简介

本书所介绍的实例都是从原理谈优化,让读者知其然也知其所以然。例如,在介绍HiveSQL调优时,我们会转换成计算引擎执行的等价代码,让读者知道HiveSQL的实际运行流程,从而直观地理解其可能引发的性能问题。

作者简介

作者林志煌,曾在中国互联网头部公司长期从事大数据相关项目的研发。擅长并能够熟练使用Hive、MapReduce和Spark等大数据相关技术。经手过日数据流量TB级别和总量PB级别的Hadoop大数据平台建设。从事过数据采集、数据清洗、数据仓库模型构建及数据产品研发等工作,涵盖了数据生命周期的主要阶段。

章节目录

版权信息

前言

第1章 举例感受Hive性能调优的多样性

1.1 感受改写SQL对性能的影响

1.1.1 数据准备

1.1.2 union案例

1.1.3 改写SQL实现union的优化

1.1.4 失败的union调优

1.2 感受调整数据块大小对性能的影响

1.2.1 数据准备

1.2.2 案例比较

1.3 感受不同数据格式对性能的提升

1.3.1 数据准备

1.3.2 案例比较

1.4 感受不同的表设计对性能的影响

1.4.1 数据准备

1.4.2 案例比较

1.5 调优其实不难

第2章 Hive问题排查与调优思路

2.1 小白推演Hive的优化方法

2.1.1 类比关系型数据库的调优

2.1.2 学习大数据分布式计算的基本原理

2.1.3 学习使用YARN提供的日志

2.1.4 干预SQL的运行方式

2.2 老工对Hive的调优理解

2.2.1 从一个过度优化案例说起

2.2.2 编码和调优的原则

2.2.3 Hive程序相关规范

2.3 总结调优的一般性过程

第3章 环境搭建

3.1 Docker基础

3.1.1 Docker介绍

3.1.2 安装Docker

3.1.3 常见的Docker使用与管理命令

3.1.4 使用Dockerfile构建服务镜像

3.1.5 Dockerfile语法

3.2 Cloudera Docker搭建伪分布式环境

3.3 Docker搭建分布式集群

3.3.1 构建JDK镜像

3.3.2 构建Hadoop镜像

3.3.3 构建Hive镜像

3.3.4 启动集群

3.4 CDM搭建分布式集群

3.4.1 Cloudera Manager组件

3.4.2 Docker构建软件安装内部源

3.4.3 CDM安装分布式集群

3.5 使用GitHub开源项目构建集群

第4章 Hive及其相关大数据组件

4.1 Hive架构

4.1.1 Hive 1.x版本基本结构

4.1.2 Hive元数据

4.2 YARN组件

4.2.1 YARN的优点

4.2.2 YARN基本组成

4.2.3 YARN工作流程

4.2.4 YARN资源调度器

4.3 HDFS架构

4.3.1 常见HDFS优化

4.3.2 HDFS基本架构和读写流程

4.3.3 HDFS高可用架构

4.3.4 NameNode联盟

4.4 计算引擎

4.4.1 MapReduce计算引擎

4.4.2 Tez计算引擎

4.4.3 LLAP长时在线与处理程序

4.4.4 Spark计算引擎

第5章 深入MapReduce计算引擎

5.1 MapReduce整体处理过程

5.2 MapReduce作业输入

5.2.1 输入格式类InputFormat

5.2.2 InputFormat在Hive中的使用

5.3 MapReduce的Mapper

5.3.1 Mapper类

5.3.2 Hive中与Mapper相关的配置

5.4 MapReduce的Reducer

5.4.1 Reducer类

5.4.2 Hive中与Reducer相关的配置

5.5 MapReduce的Shuffle

5.6 MapReduce的Map端聚合

5.6.1 Combiner类

5.6.2 Map端的聚合与Hive配置

5.7 MapReduce作业输出

5.7.1 OutputFormat作业输出

5.7.2 Hive配置与作业输出

5.8 MapReduce作业与Hive配置

5.9 MapReduce与Tez对比

5.9.1 通过案例代码对比MapReduce和Tez

5.9.2 Hive中Tez和LLAP相关的配置

第6章 HiveSQL执行计划

6.1 查看SQL的执行计划

6.1.1 查看执行计划的基本信息

6.1.2 查看执行计划的扩展信息

6.1.3 查看SQL数据输入依赖的信息

6.1.4 查看SQL操作涉及的相关权限信息

6.1.5 查看SQL的向量化描述信息

6.2 简单SQL的执行计划解读

6.3 带普通函数/操作符SQL的执行计划解读

6.3.1 执行计划解读

6.3.2 普通函数和操作符

6.4 带聚合函数的SQL执行计划解读

6.4.1 在Reduce阶段聚合的SQL

6.4.2 在Map和Reduce阶段聚合的SQL

6.4.3 高级分组聚合

6.5 带窗口/分析函数的SQL执行计划解读

6.6 表连接的SQL执行计划解读

6.6.1 Hive表连接的类型

6.6.2 内连接和外连接

6.6.3 左半连接

第7章 Hive数据处理模式

7.1 过滤模式

7.1.1 where子句过滤模式

7.1.2 having子句过滤

7.1.3 distinct子句过滤

7.1.4 表过滤

7.1.5 分区过滤

7.1.6 分桶过滤

7.1.7 索引过滤

7.1.8 列过滤

7.2 聚合模式

7.2.1 distinct模式

7.2.2 count(列)、count(*)、count(1)行计数聚合模式

7.2.3 可计算中间结果的聚合模式

7.2.4 不可计算中间结果的聚合模式

7.3 连接模式

7.3.1 普通Map连接

7.3.2 桶的Map连接和排序合并桶的Map连接

7.3.3 倾斜连接

7.3.4 表连接与基于成本的优化器

第8章 YARN日志

8.1 查看YARN日志的方式

8.1.1 ResourceManager Web UI界面

8.1.2 JobHistory Web UI界面

8.2 快速查看集群概况

8.2.1 Cluster Metrics集群度量指标

8.2.2 Cluster Node Metrics集群节点的度量信息

8.2.3 Cluster Overview集群概况

8.3 查看集群节点概况

8.3.1 节点列表概况

8.3.2 节点详细信息

8.3.3 节点作业信息

8.4 查看集群的队列调度情况

8.5 查看集群作业运行信息

8.5.1 集群作业运行状态

8.5.2 查看作业运行的基本信息

8.5.3 查看作业计数器

第9章 数据存储

9.1 文件存储格式之Apache ORC

9.1.1 ORC的结构

9.1.2 ORC的数据类型

9.1.3 ACID事务的支持

9.2 与ORC相关的Hive配置

9.2.1 表配置属性

9.2.2 Hive表的配置属性

9.3 文件存储格式之Apache Parquet

9.3.1 Parquet基本结构

9.3.2 Parquet的相关配置

9.4 数据归档

第10章 发现并优化Hive中的

10.1 监控Hive数据库的状态

10.2 监控当前集群状态

10.3 定位性能瓶颈

10.3.1 使用HS2 WebUI排除非大数据组件的问题

10.3.2 排查长时等待调度

10.3.3 Map任务读取小文件和大文件

10.3.4 Reduce的数据倾斜

10.3.5 缓慢的Shuffle

10.3.6 集群资源的限制

10.4 数据倾斜

10.4.1 不可拆分大文件引发的数据倾斜

10.4.2 业务无关的数据引发的数据倾斜

10.4.3 多维聚合计算数据膨胀引起的数据倾斜

10.4.4 无法削减中间结果的数据量引发的数据倾斜

10.4.5 两个Hive数据表连接时引发的数据倾斜

第11章 Hive知识体系总结

11.1 Hive知识体系

11.2 数据粒度

11.3 SQL相关

11.3.1 select查询语句

11.3.2 数据定义语言(DDL)

11.3.3 数据控制语言(DML)

11.3.4 用户自定义函数(UDF)

11.4 文件操作

Hive性能调优实战是2020年由机械工业出版社华章分社出版,作者林志煌。

得书感谢您对《Hive性能调优实战》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
高性能Linux服务器运维实战 电子书
真实生产环境实际案例的讲述,使你身临其境,迅速、深入地掌握各种经验和技巧,真正提高实践能力。
软件性能测试与LoadRunner实战教程(第2版) 电子书
随着计算机行业的蓬勃发展,软件用户关注的不仅仅是功能实现的正确性,系统的性能表现也是用户关注的重点,而性能测试是测试系统的主要手段,它是软件测试的重中之重。另外,性能测试通常和应用程序、操作系统、数据库服务器、中间件服务器、网络设备等有关,如何快速、有效地定位并解决性能问题,无疑是性能测试人员面临的重要任务。为了帮助测试人员迅速有效掌握软件测试基础、性能测试技术及性能测试工具的实战应用,作者精心编写了这本书。 《软件性能测试与LoadRunner实战教程 第2版》讲述了软件测试的分类以及测试的流程等,还重点讲述了性能测试技术和LoadRunner 11.0与12.60工具应用的实战知识。 书中将实践中经常遇到的问题进行总结汇总成几十个解决方案,详细的项目案例,完整的性能测试方案、计划、用例设计、性能总结及相关交付文档,为读者做好实际项目提供参考和方向引导。本书还为读者提供了: 1,新的测试工具LoadRunner技术解读。 2,丰富的案例介绍,帮助读者学习。 3,丰富的练习题与面试题型,为读者日后走上工作岗位打下良好基础。
精通软件性能测试与LoadRunner实战(第2版) 电子书
新的测试工具LoadRunner技术解读。 丰富的案例介绍,帮助读者学以致用。 丰富的练习题与面试题型,为读者学练结合打基础。 内容从测试项目实战需求出发,讲述了软件测试的分类以及测试的流程 还重点讲述了性能测试技术和LoadRunner 11.0与12.60工具应用的实战知识 基于实践中经常遇到的问题汇总了几十个解决方案 详细的项目案例、完整的性能测试方案、计划、用例设计、性能总结及相关交付文档为您做好实际项目测试提供了很好的帮助 适合测试初学者、测试人员、测试经理以及开发人员学习,也适合作为大专院校相关专业师生的学习用书,以及培训机构的教材。
尚品优家 电子书
天潞国际出版集团编著的《尚品优家(精)》打破当前室内设计图书的分类惯例,以样板房(尚品)和个性化家居(优家)为主线,根据面积的大小分名门望族、大家闺秀、小家碧玉3个层面,通过文字、实景、平面图等,对样板房和个性化家居之间设计上存在的差异,户型格局大小之间设计和装饰上的异同,进行深入的阐述,《尚品优家(精)》可以让设计师多方位参考,是具有创新意义的一本室内设计图书。
Nginx高性能Web服务器应用与实战(微课版) 电子书
本书共13章,内容包括初识Nginx、网络协议、Nginx基础配置、Nginx日志、Web模块、访问限制与访问控制、反向代理、动态网站、交互式业务与PHP-FPM、Nginx重写、证书与版本、负载均衡以及完整的网站架构。