HIVE调优方式(大全)

这篇具有很好参考价值的文章主要介绍了HIVE调优方式(大全)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

压缩方式:

HIVE压缩方式:

概述:压缩方式就类似于windows的压缩包,可以降低传输,提高磁盘利用率.

区分压缩协议好坏的参考纬度:

1.压缩比,即:压缩后文件大小

2.解压速度,即:读的速度

3.压缩速度,即:写的速度

存储方式

概述:分为 行存储 和列存储两种

具体划分:

行存储:TextFile(默认),SequenceFile

列存储:ORC(推荐),Parquet

 HIVE调优--Fetch抓取

核心点:在整形HiveSQL的时候,能不转MR,就不转MR

设置方式:

set hive.fetch.task.conversion=fetch抓取的模式;

Fetch抓取模式:

more: 默认的,全表扫描,查询指定的列,limit分页查询,简单查询不走MR,其他的要转MR任务

minimal: 全表扫描,查询指定的列,limit分页查询不走MR,其他的要转MR任务

none: 所有的HiveSQL,底层都要转MR

 Hive调优--本地模式

核心点:

        如果HiveSQL必须要转MR任务来执行,则尽量在本机(本地)直接执行,而不是交由Yarn来调度执行,针对与数据量比较小的需求,可以提高效率

设置:

--开启本地mr

set hive.exec.mode.local.auto=true;

  Hive调优--SQL优化

列裁剪:

        能写select 列 就不要写 select *

分区裁剪:

        编写SQL的时候,能使用分区条件,建立就一定要写分区字段

开启负载均衡:

        如果key分布不均,就可能导致数据倾斜的问题,可以通过 开启负载均衡解决

        开启之后程序底层会开启两个mr任务,第一个MR负责将数据随机打散,交由不同的ReduceTask任务来处理,获取结果.第二个MR会将结果进行合并获取最终结果

开启代码如下:

        set hive.groupby.skewindata=true;

 Hive调优--动态分区

建议动态分区的时候,关闭严格模式(默认开启),严格模式要求:动态分区的时候,至少指定1个静态分区

格式:

动态分区:partition(分区字段)

静态分区:partition(分区字段=值)

重点参数:

set hive.exec.dynamic.partition.mode=nonstrict;--开启非严格模式  默认为strict(严格模式)

 Hive调优--并行度和并行执行机制

并行度解释:

        根据业务需求,增大或者减少MapTask 和ReduceTask的任务数

Hive调优--严格模式

核心点:

禁用低效的SQL

设置方式:

        set hive.mapred.mode=strict | nonstrict;

Hive调优--JVM重用

核心点:

当MR任务执行结束后,Yarn创建的Container资源容器不会立刻销毁,而是可以重复使用 

Hive调优--推测执行

核心点:

        类似于木桶效应,job任务执行多长时间,取决于执行最慢的那个任务

解决方案:

        经过一定计算判定出处理最慢的任务,搞一个备份任务,同时开始,哪个先处理完就用哪个结果

建议:

        默认是开启的,建议关闭(占用资源),具体:看需求 

 Hive调优--join优化

小表join大表:

        开启Map段的join,在内存中完成处理,避免把join的动作交给ReduceTask段来处理,出现数据倾斜的情况.(默认为开启状态)

配置: set hive.auto.convert.join = true;

大表join大表:

1:空值过滤,降低处理的数据量

2:空值转换,在有大量的null值时,提高数据的处理速度

 Hive调优--explain执行计划

格式:

        explain HiveSQL语句

作用:

        可以查看HiveSQL语句的执行计划(阶段越少,相对执行速度越快)文章来源地址https://www.toymoban.com/news/detail-816390.html

到了这里,关于HIVE调优方式(大全)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Hadoop、Spark和Hive调优优化原理

    作者:禅与计算机程序设计艺术 随着互联网和大数据的普及以及处理器性能的提升,当时的技术已经远远超过了当时能够想象的范围。这段时间MapReduce计算框架已经成为一个主流的开源计算框架,包括Hadoop、Pig、Hive、Mahout、Storm等。 2010年Apache Spark横空出世,基于内存计算框

    2024年02月06日
    浏览(43)
  • (15)Hive调优——数据倾斜的解决指南

    目录 前言 一、什么是数据倾斜 二、发生数据倾斜的表现 2.1 MapReduce任务 2.2 Spark任务 三、如何定位发生数据倾斜的代码 四、发生数据倾斜的原因 3.1 key分布不均匀 3.1.1 某些key存在大量相同值 3.1.2 存在大量异常值或空值 3.2 业务数据本身的特性 3.3 SQL语句本身就有数据倾斜

    2024年04月14日
    浏览(44)
  • 大数据开发之Hive(企业级调优)

    创建测试用例 1、建大表、小表和JOIN后表的语句 2、分别向大表和小表中导入数据 1、基本语法 2、实例操作 1)查看下面这条语句的执行计划 (1)没有生成MR任务的 (2)有生成MR任务的 2)查看详细执行计划 10.2.1 列裁剪和分区裁剪 在生产环境中,会面临列很多或者数据量很

    2024年01月18日
    浏览(41)
  • Hive数据仓库---Hive的安装与配置

    Hive 官网地址:https://hive.apache.org/ 下载地址:http://www.apache.org/dyn/closer.cgi/hive/ 把安装文件apache-hive-3.1.2-bin.tar.gz上传到master节点的/opt/software目 录下,执行以下命令把安装文件解压到/opt/app目录中 进入/opt/app目录,为目录apache-hive-3.1.2-bin建立软件链接 即输入hive就相当于输入a

    2024年02月02日
    浏览(40)
  • 基于MapReduce的Hive数据倾斜场景以及调优方案

    通常认为当所有的map task全部完成,并且99%的reduce task完成,只剩下一个或者少数几个reduce task一直在执行,这种情况下一般都是发生了数据倾斜。 即为在整个计算过程中,大量相同的key被分配到了同一个reduce任务上造成。Hive的数据倾斜本质上是MapReduce计算引擎的数据倾斜,

    2024年02月12日
    浏览(47)
  • 【Hive_06】企业调优2(数据倾斜优化、HQL优化等)

    数据倾斜问题,通常是指参与计算的数据分布不均,即某个key或者某些key的数据量远超其他key,导致在shuffle阶段,大量相同key的数据被发往同一个Reduce,进而导致该Reduce所需的时间远超其他Reduce,成为整个任务的瓶颈。 比如对于一张表的province_id字段,其中99%的值都为1,则

    2024年01月16日
    浏览(40)
  • hive数据仓库工具

    1、hive是一套操作数据仓库的应用工具,通过这个工具可实现mapreduce的功能 2、hive的语言是hql[hive query language] 3、官网hive.apache.org 下载hive软件包地址  Welcome! - The Apache Software Foundation https://archive.apache.org/ 4、hive在管理数据时分为元数据和真数据,其中元数据要保存在数据库中

    2024年02月04日
    浏览(34)
  • Hive数据仓库

    数据仓库(英语:Data Warehouse,简称数仓、DW),是一个用于存储、分析、报告的数据系统。 数据仓库的目的是构建面相分析的集成化数据环境,分析结果为企业提供决策支持(Decision Support)。 数据仓库本身并不“产生”任何数据,其数据来源不同外部系统; 同时数据仓库

    2024年02月15日
    浏览(39)
  • Hive数据仓库简介

    Hive起源于Facebook,Facebook公司有着大量的日志数据,而Hadoop是实现了MapReduce模式开源的分布式并行计算的框架,可轻松处理大规模数据。然而MapReduce程序对熟悉Java语言的工程师来说容易开发,但对于其他语言使用者则难度较大。因此Facebook开发团队想设计一种使用SQL语言对日

    2024年02月15日
    浏览(55)
  • 数据仓库 & Apache Hive

    目录 一、数据分析 1、数据仓库 1.1、数仓专注分析 1.2、数仓主要特征 1.3、数据仓库主流开发语言--SQL 2、Apache Hive 2.1、为什么使用Hive? 2.2、Hive和Hadoop关系 2.3、Hive架构图、各组件功能 2.4、Hive安装部署 2.4.1、Hive概念介绍 2.4.2、安装前准备     数据仓库 (英语:Data Warehous

    2024年01月22日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包