年、月、日としてパーティション列を持つハイブテーブルを作成し、hdfsからパーティションを削除すると、結果がハイブテーブルに反映されるかどうかを考えてみましょう
質問する
3494 次
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 に答える