我有一个带有日期列的表,并且在 hive 中的该日期列上进行了分区。假设现在有 300 个部分文件,并且每天只插入一条记录,然后我的表包含 300 条记录。现在我想创建一个重复表,将所有分区文件合并为一个。我该怎么做
问问题
79 次
1 回答
0
您可以使用 hive 中提供的压缩功能
set hive.support.quoted.identifiers=none;
set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;
with partition_list as
(
select date, count(distinct input__file__name) cnt from table_name
group by date having cnt > 0
)
insert overwrite table table_name partition (date)
select * from table_name
where date in (select date from partition_list)
于 2019-10-11T13:53:11.297 回答