-1
パーティションがロードされた定義済みのハイブテーブルがあるとします。削除および作成なしでハイブスキーマのメタデータを上書きする
CREATE EXTERNAL TABLE t1
(
c1 STRING
)
PARTITIONED BY (dt STRING)
LOCATION...
ALTER TABLE t1 ADD PARTITION (dt = '2017-01-01')
は今、私は、スキーマを表す新しいテキストを得た:
CREATE EXTERNAL TABLE t1
(
user_id STRING
)
PARTITIONED BY (dt STRING)
LOCATION...
私がドロップして、テーブルを再作成した場合、私はパーティション情報を失うことになります。 カラムの手動追加/削除/名前変更なしにカラムスキーマの部分を再定義する方法を探しています(スキーマの更新プロセスを自動化しようとしていません)。
質問は不明です。小さなデータサンプルを使用してシナリオを説明してください。 –
(1)データサンプルは、デモを生成し、提案されたソリューションがお客様のニーズに対応しているかどうかを検証するのに適しています。 (2)スキーマは古いパーティションまたは新しいパーティションのみに関連して変更されますか? (3)追加/削除/名前変更の問題は何ですか? –
1)質問はメタデータに関するもののみです。2)列(パーティション列ではない)だけを変更することができます。 3)スキーマの更新プロセスを自動化しようとすると、列の名前を手動で変更/削除/追加することは可能ですが、作業が多くなり、エラーが発生しやすくなります...ありがとうございます! – harel