这是动态分区数据的方式,但每个分区只创建一个文件,但我希望每个文件的大小为256MB。
由于我的数据严重偏差,因此与分区关联的一些文件大小为2-3 GB ...我尝试了很多设置,但没有一个工作。
使用MR模式。
有人可以告诉我这里可以做些什么来为每个分区创建多个文件,每个文件的大小应该是256MB?
SET hive.execution.engine=mr;
SET hive.exec.scratchdir=/tmp/hive/ ;
SET hive.exec.stagingdir=/tmp/hive/;
set hive.msck.path.validation=ignore;
SET hive.exec.dynamic.partition = true;
SET hive.exec.dynamic.partition.mode = nonstrict;
set hive.exec.reducers.bytes.per.reducer=250000000;
set mapreduce.reduce.shuffle.memory.limit.percent=0.15;
insert overwrite table madlytics.events_eors20_hive_dynamic_part partition(h='01',event_type)
select
*, h, event_type
from
madlytics.events_eors_2017_09_20 where h = '01' distribute by event_id sort by event_type;