1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > hivesql的几种优化的方法

hivesql的几种优化的方法

时间:2020-03-17 08:49:15

相关推荐

hivesql的几种优化的方法

目前项目中由于数据量巨大,导致一个sql要跑一个多小时,所以找了些可以优化的点,记录下来,以后方便使用。

1.map的优化,job在map task的过程时间较长

set mapreduce.map.memory.mb=8240;set mapreduce.reduce.memory.mb=8240;set hive.merge.mapfiles=false;set mapreduce.input.fileinputformat.split.maxsize=50000000;set hive.exec.max.created.files=300000;

2.当把一个非分区表的数据,插入到一个分区表中的配置

set hive.input.format=org.apache.hadoop.hive.bineHiveInputFormat;set hive.merge.mapfiles = true;set hive.merge.mapredfiles = true;set mapreduce.map.memory.mb=4096;set mapreduce.reduce.memory.mb=4096;set mapred.pleted.maps=1;set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;set hive.exec.max.dynamic.partitions.pernode=100000;set hive.exec.max.dynamic.partitions=100000;set hive.exec.max.created.files=300000;例如: 对于分区字段也可以使用 distribute by 分区字段set hive.input.format=org.apache.hadoop.hive.bineHiveInputFormat;set hive.merge.mapfiles = true;set hive.merge.mapredfiles = true;set mapreduce.map.memory.mb=4096;set mapreduce.reduce.memory.mb=4096;set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;set hive.exec.max.dynamic.partitions.pernode=100000;set hive.exec.max.dynamic.partitions=100000;set mapred.pleted.maps=1;set hive.exec.max.created.files=300000;insert overwrite table dwd.swbzbtx_indicator_system_exp partition (dt) select * from temp.swbzbtx_mbrq_qd_product_expdistribute by dt;

3.动态分区直接可以把下面一起作为优化的设置

set mapreduce.map.memory.mb=8240;set mapreduce.reduce.memory.mb=8240;set hive.merge.mapfiles=false;set hive.exec.dynamic.partition.mode=nonstrict;set mapreduce.input.fileinputformat.split.maxsize=50000000;set hive.exec.max.dynamic.partitions=500000;set hive.exec.max.dynamic.partitions.pernode=500000;set hive.exec.max.created.files=300000;

4.适用大数据量的初始化时的参数设置:

set hive.input.format=org.apache.hadoop.hive.bineHiveInputFormat;set mapred.max.split.size=256000000; -- 256Mset mapred.min.split.size.per.node=100000000; -- 100Mset mapred.min.split.size.per.rack=100000000; -- 100Mset hive.merge.mapfiles = true;set hive.merge.mapredfiles = true;set hive.merge.size.per.task = 256000000; -- 256Mset hive.merge.smallfiles.avgsize=16000000; -- 16Mset mapreduce.map.memory.mb=4096;set mapreduce.reduce.memory.mb=4096;set hive.exec.dynamic.partition=true;set hive.exec.dynamic.partition.mode=nonstrict;set hive.exec.max.dynamic.partitions.pernode=10000;set hive.exec.max.dynamic.partitions=10000;set mapred.pleted.maps=1;set mapreduce.job.running.map.limit=2000;--设置hive单个任务最大reduce并发数量set mapreduce.job.running.reduce.limit=500;

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。