假设我创建了一个分区列为年、月和日的配置单元表,如果我从 hdfs 中删除分区,那么结果是否会反映在配置单元表中
问问题
3494 次
2 回答
1
是的。分区数据将消失。
Metastore 仍将保存分区信息(元数据),您可以使用show partition mytable
.
您可以使用 找到需要删除的分区msck repair mytable
。
您可以使用删除分区alter table mytable drop partition (...)
于 2017-03-09T07:30:17.813 回答
0
Hive 表仍将显示分区,您必须手动删除在 HDFS 上删除的分区(或删除并重新创建表)并运行 MSCK。
命令:
如果您打算更改表并删除所有已删除的分区-
ALTER TABLE table_name DROP [IF EXISTS] PARTITION partition_spec[, PARTITION partition_spec, ...]
[IGNORE PROTECTION] [PURGE]; -- (Note: PURGE available in Hive 1.2.0 and later, IGNORE PROTECTION not available 2.0.0 and later)
我会选择删除并重新创建表,然后运行 MSCK。
要将所有现有分区添加到表中 -
msck repair table <table_name>
或者,您可以使用删除所有分区ALTER TABLE
,然后运行该MSCK
命令。
于 2018-01-24T19:31:51.047 回答