메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


kudu kudu의 내부 table명 변경하는 방법

gooper 2022.11.10 10:44 조회 수 : 1125

create문장으로 kudu table을 변경후 alter table로 table명을 변경하면 impala metastore에 저장된 테이블 명만 변경되고 hive.table_params에 된 kudu정보중 param_key='kudu.table_name'으로 param_value컬럼에 저장된 값은 바뀌지 않는다.

이 값을 변경하기 위해서는 먼저 kudu table 명을 변경후에 hive.table_params테이블의 kudu table 정보를 update해 주어야 한다.

예를 들어 test_db.table_table_tmp을 create한 후 test_db.table_table로 변경하는 방법은 다음과 같다. 


1. kudu table rename

sudo -u kudu kinit -kt /var/lib/keytab/kudu.keytab kudu

sudo -u kudu kudu table rename_table master1.gooper.com:7051,master2.gooper.com:7051,master3.gooper.com:7051 impala::test_db.table_table_tmp impala::test_db.table_table


2. hive metastore정보 변경

update hive.table_params set param_value='impala::test_db.table_table' where param_key='kudu.table_name' and param_value like 'impala::test_db.table_table_tmp';


3. invalidate metadata문을 수행하여 변경 사항을 반영할 수 있게 해준다. 

invalidate metadata est_db.table_table;

위로