2016-08-22 10 views
1

수천 개의 열이있는 테이블이 있고 수천 개의 열이있는 다른 테이블과 병합해야합니다. 충돌을 피하기 위해 사전 수정을 추가해야합니다. 사전 수정을 사용하여 하나의 테이블에서 모든 열을 빠르게 변경할 수 있습니까? 당신이 위의 쿼리에서 접두사하이브에 접두사가있는 모든 열 이름을 추가하십시오.

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