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

目录

一、前言

二、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语句在底层的实现过程,通俗来说就是Hive打算如何去做这件事;
  • explain会解析HQL语句,将整个HQL语句的实现步骤、依赖关系、实现过程都会进行解析返回,可以了解一条
  • 74
    点赞
  • 83
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 138
    评论
### 回答1: 大数据Hive离线计算开发实战教案主要包括以下几个方面的内容: 1. 前期数据准备和环境搭建:介绍如何准备数据集、搭建Hadoop分布式环境以及安装和配置Hive。 2. Hive表的创建与管理:讲解如何通过Hive创建和管理表,包括表的分区、桶和索引等操作。同时介绍如何通过HiveQL语言对数据进行增删改查。 3. 数据清洗与转换:介绍如何使用Hive进行数据清洗和转换,包括数据去重、空值处理、数据格式转换等操作。同时还可以引导学员使用Hive内置函数和自定义函数对数据进行进一步处理和分析。 4. 数据抽取与加载:介绍如何使用Hive进行数据的抽取和加载,包括从其他数据库、Hadoop集群和外部文件系统中导入数据,以及将Hive查询结果导出到其他存储系统。 5. 数据统计与分析:介绍如何使用Hive进行数据统计和分析,包括使用聚合函数、窗口函数和分组操作进行数据分析,以及使用HiveQL编写复杂的数据查询和报表生成。 6. 性能优化与调优:介绍如何通过优化Hive表的设计、调整配置参数、使用分区和桶以及进行数据压缩等手段来提高Hive查询的性能。 7. 实际案例实战:提供一些实际的大数据案例,并引导学员使用Hive进行数据处理和分析。通过实际的案例演练,让学员更好地理解和掌握Hive离线计算的应用。 这些内容将通过理论讲解、实验操作和案例实战相结合的方式进行教学,帮助学员全面了解和掌握Hive离线计算的开发实战技巧,提升其在大数据领域的能力水平。 ### 回答2: 大数据Hive离线计算开发实战教案主要包括以下内容。 首先,教案将介绍Hive的基本概念和原理,包括Hive的架构、数据模型以及HiveQL查询语言的基本语法。 其次,教案将详细讲解Hive的数据导入与导出,包括如何使用Hive将数据从Hadoop集群导入到Hive表中,以及如何将Hive表中的数据导出到其他存储系统。 接着,教案将介绍Hive的表管理和分区设计,包括如何创建Hive表、修改表结构和删除表,以及如何对Hive表进行分区设计来优化查询性能。 此外,教案还将探讨Hive的性能调优和优化技术,如何通过调整Hive的配置参数、使用Hive的索引和分桶等方法来提高查询效率。 最后,教案将提供实际的案例和练习,来帮助学员理解和应用所学的知识。通过实际操作,学员将学会使用Hive进行离线计算开发,包括数据导入导出、表管理、分区设计以及性能调优等方面的技能。 综上所述,大数据Hive离线计算开发实战教案将通过理论讲解、实际操作和案例练习等方式,帮助学员掌握Hive的基本原理和技术,并能够应用Hive进行离线计算开发。通过学习这个教案,学员将能够熟练使用Hive进行数据处理和分析,并能够优化Hive查询性能以提高工作效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 138
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

逆风飞翔的小叔

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

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

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

打赏作者

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

抵扣说明:

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

余额充值