1

年、月、日としてパーティション列を持つハイブテーブルを作成し、hdfsからパーティションを削除すると、結果がハイブテーブルに反映されるかどうかを考えてみましょう

4

2 に答える 2

1

はい。パーティションデータはなくなります。
メタストアには引き続きパーティション情報 (メタデータ) が保持され、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 に答える