首页 > 解决方案 > Hive 插入覆盖所有分区

问题描述

假设,昨天我加载了 partition_dates 的数据:01-01、02-01 到 10-01 当我今天加载数据时,我看到 partition_dates 为:01-01、03-01 到 11-01,这意味着 02-01 分区是无法使用。但是 hive 不会覆盖或删除这个 02-01 分区。

如何动态实现此功能?

标签: hadoophivehiveql

解决方案


截断表然后加载动态分区。

TRUNCATE [TABLE] table_name [PARTITION partition_spec];

省略 partition_spec 将截断表中的所有分区。

应该管理表。如果它是外部的,请在截断之前对其进行管理:

ALTER TABLE mytable SET TBLPROPERTIES('EXTERNAL'='FALSE');

您也可以使用带有 < 或 > 运算符的 drop 分区。


推荐阅读