Hive按时间划分

ddarikpa  于 2021-06-25  发布在  Hive
关注(0)|答案(1)|浏览(328)

我想实施

alter table dos_sourcedata add partition (data = to_date (current_timestamp ()));

在Hive里
每天在特定时间运行此语句。但这总是错的。

rhfm7lfc

rhfm7lfc1#

如果要使用alter table创建空分区,请使用值,而不是表达式,如下所示:

alter table mytable add partition (partition_date='2020-04-01');

在使用insert overwrite table partition加载数据时,可以动态创建分区,在这种情况下,可以在查询中使用表达式:

set hive.exec.dynamic.partition=true;
set hive.exec.dynamic.partition.mode=nonstrict;

insert overwrite table mytable partition (partition_date)
select 
      col_1,
      ...
      col_n,
      current_date --partition column is the last one
  from ...

使用 current_date 而不是 to_date (current_timestamp ()) .

相关问题