Hive分区表设置分区文件数

1
2
3
4
5
6
7
set spark.sql.shuffle.partitions=2000; -- 这里是设置 shuffle 分区数量(并行度)

insert overwrite table target_table partition (start_dt)
select * from working_table
distribute by start_dt, ceil(rand(1)*100)
;
-- 这里的100是实际文件数量

可以修改100的大小来灵活确定文件的个数。

最终文件数量 = min( shuffle 分区数量 , 实际文件数量 )