【发布时间】:2020-06-06 20:17:00
【问题描述】:
假设,昨天我加载了 partition_dates 的数据:01-01、02-01 到 10-01 今天加载数据时,我看到 partition_dates 为:01-01、03-01 到 11-01,这意味着 02-01 分区不可用。但是 hive 不会覆盖或删除这个 02-01 分区。
如何动态实现此功能?
【问题讨论】:
假设,昨天我加载了 partition_dates 的数据:01-01、02-01 到 10-01 今天加载数据时,我看到 partition_dates 为:01-01、03-01 到 11-01,这意味着 02-01 分区不可用。但是 hive 不会覆盖或删除这个 02-01 分区。
如何动态实现此功能?
【问题讨论】:
Truncate the table 然后加载动态分区。
TRUNCATE [TABLE] table_name [PARTITION partition_spec];
省略 partition_spec 将截断表中的所有分区。
应该管理表。如果是外部的,则在截断之前进行管理:
ALTER TABLE mytable SET TBLPROPERTIES('EXTERNAL'='FALSE');
【讨论】: