簡體   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