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 테이블로 교체하고 emp 과 name 열-
./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