0
2つの外部Hive ORCテーブルがあるとします。どちらも同じデータ型、同じパーティション、同じバケットを持つ同じスキーマを持ちます。ソースの場所を変更した後のHive ORCテーブルの復元?
テーブルAを削除し、テーブルBの場所をテーブルAのソースの場所に設定しようとしています。私は両方を試してみた:
alter tableB set location "hdfs://.../tableA"
と
msck repair table B
を運なし。
パーティションの場所も設定しようとしましたか? – leftjoin
@leftjoinによって生成されたポイントを強調するために、パーティションテーブルの場合、テーブルレベルの "location"は、将来のパーティション**のための**デフォルトルートディレクトリにすぎません**。既存のパーティションには、メタストアデータベースに登録された独自の「場所」があります。それらをすべて1つずつ変更する必要があります。 –
または、*(1)*テーブルB *(2)からのすべてのパーティションを削除する*テーブルB *(3)*の "location"を変更して、MSCK修復を実行してサブディレクトリを自動検出してみてください。その順序で。 –