-
[Hive]HQL-데이터베이스 알아보기(DB 생성, 수정, 삭제 )데이터 엔지니어링/Hive 2022. 9. 18. 20:58반응형
HIVE DB
하이브 데이터베이스는 스키마 정보를 덮어 씌워 Hive 쿼리를 사용 할 수 있도록 해줍니다. RDB의 데이터베이스와 같은 형태라 보면 됨.
실습
DB 생성
CREATE (DATABASE|SCHEMA) [IF NOT EXISTS] database_name [COMMENT database_comment] [LOCATION hdfs_path] [WITH DBPROPERTIES (property_name=property_value, ...)];
옵션
- IF NOT EXISTS - 이 옵션을 붙여서 실행하면 DB가 없으면 생성, 있으면 생성되지 않음
- comment - db description임
- location - 데이터베이스의 위치를 지정 할 수 있습니다. 가장 기본 위치는 hdfs:///**user** /hive/{db명}.db/{테이블명}
- WITH DBPROPERTIES - 내가 원하는 값을 key-value형식으로 넣어서 DB를 생성할 수 있습니다.
hive> CREATE DATABASE test > COMMENT 'TEST DB' > LOCATION '/test/db' > WITH DBPROPERTIES ('name'='hsjoo', 'key'='value') > ; OK Time taken: 0.139 seconds
# 다시 생성 하면 오류 hive> CREATE DATABASE test; FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. Database test already exists
# IF NOT EXSITS를 붙이면 오류 안남 hive> CREATE DATABASE IF NOT EXISTS test; OK Time taken: 0.007 seconds
DB 조회
hive> show databases; OK default test <- 생성된것을 볼수 있다. Time taken: 0.639 seconds, Fetched: 1 row(s)
DB 상세 정보 보기
hive> DESCRIBE DATABASE EXTENDED test; OK test TEST DB hdfs://namenode:9000/test/db root USER {name=hsjoo, key=value} Time taken: 0.021 seconds, Fetched: 1 row(s)
DB 삭제
DROP (DATABASE|SCHEMA) [IF EXISTS] database_name [RESTRICT|CASCADE];
옵션
- RESTRICT를 붙여서 삭제를 제약 할 수 있지만 거의 쓰지 않음
- IF EXISTS를 붙이면, DB가 있을 때만 쿼리가 실행 되므로, 오류를 방지할 수 있음
hive> DROP DATABASE test; OK Time taken: 0.088 seconds
DB 수정
ALTER (DATABASE|SCHEMA) database_name SET DBPROPERTIES (property_name=property_value, ...); ALTER (DATABASE|SCHEMA) database_name SET OWNER [USER|ROLE] user_or_role;
참고문헌
https://excelsior-cjh.tistory.com/42
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=kbh3983&logNo=220971249370
반응형'데이터 엔지니어링 > Hive' 카테고리의 다른 글
[Hive] Hive query - Bucketing table 알아보기 (0) 2022.10.06 [Hive] Hive Query Table 관련 sql 정리(create, drop, truncate table) - options(if not exists, file format) (0) 2022.10.06 [Hive] 테이블 생성(create table, view table, internal or external table 차이점, aws s3로 location 설정하는 법, 파일 포맷 설정하는 법) (0) 2022.09.19 [HIVE]Hive란 2부 - 서비스들 설명 (0) 2022.09.18 [HIVE]HIVE란? 1부 - 소개 및 버전별 특징 (0) 2022.09.18