【大数据Hive】hive 优化策略之job任务优化

avatar
作者
猴君
阅读量:0

目录

一、前言

二、hive执行计划

2.1 hive explain简介

2.1.1 语法格式

2.1.2 查询计划阶段说明

2.2操作演示

2.2.1 不加条件的查询计划分析

2.2.2带条件的查询计划分析

三、MapReduce属性优化

3.1 本地模式

3.1.1 本地模式参数设置

3.1.2本地模式操作演示

3.2JVM重用

3.2.1 什么是JVM重用

3.3并行执行

四、join优化

4.1 hive sql的join执行简介

4.2Map Join

4.2.1 执行原理

4.2.2 使用方式

4.3Reduce Join

4.3.1 使用场景

4.3.2 执行原理

4.3.3使用方式

4.4 Bucket Join

4.4.1 使用场景

4.4.2 执行原理

4.4.3使用方式1

4.4.4使用方式2

五、优化器

5.1 关联优化

5.2 优化器引擎

5.2.1 背景

5.2.2优化器引擎 ——RBO

5.2.3优化器引擎 ——CBO

5.3Analyze分析器

5.3.1 Analyze 功能

5.3.1 Analyze 语法

5.3.2 实际操作

六、谓词下推

6.1 谓词下推概述

6.1.1 谓词下推案例总结

6.2谓词下推常用规则总结

七、数据倾斜

7.1 概述

7.2 数据倾斜场景一

7.2.1 方案一

7.2.2方案二

7.2.3方案三

7.3数据倾斜场景二

7.3.1 方案一

7.3.2方案二

7.3.3 方案三


一、前言

上一篇,我们分享了hive表数据常用的优化策略,本篇再从hive的job执行层面来聊聊可以优化的常用的一些手段。

二、hive执行计划

在正式分享job优化之前,有必要先了解下hive的一条sql执行时经历的事情,即explain执行计划,在学习mysql的时候,DBA或者开发人员经常通过explain关键字来分析一条慢sql的执行计划,从而指导sql优化。

2.1 hive explain简介

HiveQL,是一种类SQL语言,从编程语言规范来说是一种声明式语言,用户会根据查询需求提交声明式的HQL查询,而Hive会根据底层计算引擎将其转化成Mapreduce/Tez/Spark的job;

hive explain 补充说明:

  • 使用hive的explain命令可以帮助用户了解一条HQL语句在底层的实现过程,通俗来说就是Hive打算如何去做这件事;
  • explain会解析HQL语句,将整个HQL语句的实现步骤、依赖关系、实现过程都会进行解析返回,可以了解一条

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!