HCatalog-테이블 변경

이 장에서는 테이블 이름 변경, 열 이름 변경, 열 추가, 열 삭제 또는 교체와 같은 테이블 속성을 변경하는 방법에 대해 설명합니다.

테이블 문 변경

ALTER TABLE 문을 사용하여 Hive의 테이블을 변경할 수 있습니다.

통사론

이 명령문은 테이블에서 수정하려는 속성에 따라 다음 구문 중 하나를 사용합니다.

ALTER TABLE name RENAME TO new_name
ALTER TABLE name ADD COLUMNS (col_spec[, col_spec ...])
ALTER TABLE name DROP [COLUMN] column_name
ALTER TABLE name CHANGE column_name new_name new_type
ALTER TABLE name REPLACE COLUMNS (col_spec[, col_spec ...])

일부 시나리오는 아래에 설명되어 있습니다.

Rename To… 문

다음 쿼리는 다음에서 테이블 이름을 바꿉니다. employee ...에 emp.

./hcat –e "ALTER TABLE employee RENAME TO emp;"

변경 진술

다음 표에는 employee 변경할 필드를 보여줍니다 (굵게 표시).

분야 명 데이터 유형에서 변환 필드 이름 변경 데이터 유형으로 변환
eid int eid int
이름 ename
봉급 흙손 봉급 더블
지정 지정

다음 쿼리는 위의 데이터를 사용하여 열 이름과 열 데이터 유형의 이름을 바꿉니다-

./hcat –e "ALTER TABLE employee CHANGE name ename String;"
./hcat –e "ALTER TABLE employee CHANGE salary salary Double;"

열 문 추가

다음 쿼리는 dept ~로 employee 표.

./hcat –e "ALTER TABLE employee ADD COLUMNS (dept STRING COMMENT 'Department name');"

Replace 문

다음 쿼리는 employee 테이블로 교체하고 empname 열-

./hcat – e "ALTER TABLE employee REPLACE COLUMNS ( eid INT empid Int, ename STRING name String);"

Drop Table 문

이 장에서는 HCatalog에서 테이블을 삭제하는 방법에 대해 설명합니다. 메타 스토어에서 테이블을 삭제하면 테이블 / 열 데이터와 해당 메타 데이터가 제거됩니다. 일반 테이블 (메타 스토어에 저장) 또는 외부 테이블 (로컬 파일 시스템에 저장)이 될 수 있습니다. HCatalog는 유형에 관계없이 둘 다 동일한 방식으로 처리합니다.

구문은 다음과 같습니다-

DROP TABLE [IF EXISTS] table_name;

다음 쿼리는 employee

./hcat –e "DROP TABLE IF EXISTS employee;"

쿼리가 성공적으로 실행되면 다음 응답을 볼 수 있습니다.

OK
Time taken: 5.3 seconds