ALTER TABLE bronze.nas_pt_login CHANGE dispt_dept_nm disp_dept_nm STRING;
Kudu 는 컬럼 rename 을 지원하며 PK 컬럼도 가능하다.
Impala 로 rename 하면 Kudu-HMS 연동이 켜진 환경에서 Kudu 와 Hive Metastore 양쪽에 변경이 함께 반영된다. Impala 는 ALTER 를 실행한 주체이므로 catalogd 를 통해 다른 impalad 에도 자동 전파된다. Spark 는 KuduContext 로 Kudu master 에서 스키마를 직접 읽으므로 새 이름을 바로 본다.
신경 쓸 것은 rename 시점에 돌고 있는 Spark 잡뿐이다. 이미 스키마를 캐시한 잡은 이전 이름으로 실패할 수 있으므로 배치가 없는 시간에 바꾸고, 그 컬럼을 참조하는 NiFi · Spark 스크립트를 함께 고친다.
원천 로그 CSV 여러 개(파일.csv, 파일1.csv)를 합쳐 Kudu 테이블 컬럼 목록을 만들 때는 첫 행만 뽑아 소문자로 바꾸고, 이름에 1 이 붙은 파일의 컬럼을 뒤에 붙인다. JSON 으로 적재하면 컬럼 순서가 달라도 이름으로 매핑되므로 순서는 문제가 되지 않는다.
(head -1 통계_로그인.csv; head -1 통계_로그인1.csv) | tr -d '"' | tr 'A-Z' 'a-z' | tr '\n' ',' | sed 's/,$/\n/'