技本功|Hive优化之建表配置参数调优(一)

本文介绍了Hive性能优化中的建表配置参数调优,包括如何处理小文件问题,选择合适的存储格式,压缩选项,以及分桶和分区策略。建议使用CombineHiveInputFormat减少小文件,采用列式存储如ORC以提高查询效率,并利用分区和分桶优化数据扫描和join操作。
摘要由CSDN通过智能技术生成

简介: Hive是大数据领域常用的组件之一,主要用于大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的一个点,因此掌握一些Hive调优是必不可少的一项技能。影响Hive效率的主要因素有数据倾斜、数据冗余、job的IO以及不同底层引擎配置情况和Hive本身参数和HiveSQL的执行等。本文主要从建表配置参数方面对Hive优化进行讲解。

创建一个普通的表

create table test_user1(id int, name string,code string,code_id string ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ','

查看表信息

DESCRIBE FORMATTED test_user1;

在这里插入图片描述

我们从该表的描述信息介绍建表时的一些可优化点。
2.1表的文件数

numFiles表示表中含有的文件数,当文件数过多时可能意味着该表的小文件过多,这时候我们可以针对小文件的问题进行一些优化,HDFS本身提供了

解决方案:

1.Hadoop Archive/HAR:将小文件打包成大文件。

2.SEQUENCEFILE格式:将大量小文件压缩成一个SEQUENCEFILE文件。

3.CombineFileInputFormat:在map和reduce处理之前组合小文件。

4.HDFS Federation:HDFS联盟,使用多个namenode节点管理文件。

除此之外,我们还可以通过设置hive的参数来合并小文件。

1.输入阶段合并

需要更改Hive的输入文件格式即参hive.input.format
默认值是org.apache.hadoop.hive.ql.io.HiveInputFormat
我们改成org.apache.hadoop.hive.ql.io.CombineHiveInputFormat
这样比

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值