![](/img/trans.png)
[英]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.