繁体   English   中英

从HDFS中删除分区目录,它会反映在hive表中吗?

[英]Delete partition directories from HDFS, would it reflect in hive table?

可以说我用分区列创建了一个hive表作为年,月和日,如果我从hdfs中删除分区,那么结果会反映在hive表中

是。 分区数据将消失。
Metastore仍将保存分区信息(元数据),您可以使用show partition mytable查看它。
您可以使用msck repair mytable找到需要删除的分区。
您可以使用alter table mytable drop partition (...)

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)

我会使用drop并重新创建表然后运行MSCK。

要将所有现有分区添加到表 -

msck repair table <table_name>

或者,您可以使用ALTER TABLE删除所有分区,然后运行MSCK命令。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM