2016-08-22 8 views
1

私は数千の列を持つ表を持っていますが、何千もの列を持つ他の表とマージする必要があります。競合を避けるためにプリフィックスを追加する必要があります。プレフィックスを使用して1つのテーブルのすべての列を簡単に変更する方法はありますか?あなたは上記のクエリ内のプレフィックス接頭辞を含むすべての列名をHiveに追加します

UPDATE COLUMNS_V2 C JOIN TBLS T 
ON C.CD_ID= T.TBL_ID AND 
T.TBL_NAME='table_name' SET C.COLUMN_NAME =CONCAT('prefix_',C.COLUMN_NAME) ; 

を使用して、テーブルのすべての列名を更新します。このクエリを試すことができ、メタストアを更新するために必要な権限を持っている場合

答えて

1

は、次のように置き換えます。

'table_name':プレフィックスを追加する列のテーブル名。

'prefix_':お好みの接頭語、たとえば 'TBL_'

+0

感謝。ここでCD_IDとTBL_IDは何ですか、テーブルのプロパティですか? – Jin

+0

はい@Jin、TBL_IDおよびCD_IDは、ハイブライブストアテーブルTBLSおよびCOLUMNS_V2の主キーおよび参照キー列です – Aditya

関連する問題