[英]Is it OK to manually delete partition directories of hive tables from HDFS w/o dropping the partitions
[英]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.