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

本文详细介绍了Hive的job任务优化策略,包括hive explain的使用、MapReduce属性优化如本地模式、JVM重用和并行执行,以及join操作的Map Join、Reduce Join和Bucket Join的优化。此外,还探讨了谓词下推、优化器和数据倾斜的解决方案,为Hive性能提升提供全面指导。

目录

一、前言

二、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.2 JVM重用

3.2.1 什么是JVM重用

3.3 并行执行

四、join优化

4.1 hive sql的join执行简介

4.2 Map Join

4.2.1 执行原理

4.2.2 使用方式

4.3 Reduce 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.3 Analyze分析器

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语句在底层的实现过程,通俗
评论 138
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

逆风飞翔的小叔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值