[HIVE] 테이블 만들기 :: CREATE TABLE
반응형
-- 파티션이 있을 경우
CREATE TABLE IF NOT EXISTS DB.테이블 (
열1 데이터타입
, 열2 데이터타입
)
COMMENT 'message'
PARTITIONED BY (열3 데이터타입);
-- 파티션이 없을 경우
CREATE TABLE IF NOT EXISTS DB.테이블 (
열1 데이터타입
, 열2 데이터타입
);
-- 조회하여 테이블 생성
CRESTE TABLE DB.테이블 as
SELECT * FROM db.table;
[ 생략가능한 옵션 ]
- IF NOT EXISTS : 지정한 위치(데이터베이스)에 해당 이름을 가진 테이블이 없다면 생성, 있으면 생성 x
- COMMENT : 코멘트/메시지 남기기
- PARTITIONED BY : 파티션 지정하기
1. 파티션이 있을 경우
PARTITIONED BY (열 데이터타입)
-- Example
-- dt | name | score | grade
CREATE TABLE IF NOT EXISTS kimheeji.TestTable (
name STRING
, score INT
, grade STRING
)
COMMENT 'message'
PARTITIONED BY (dt STRING);
- 파티션으로 나눌 열은 PARTITIONED BY에 따로 정의한다. 처음에 CREATE TABLE 이후에 정의 X
- 위 테이블은 dt | name | score | grade 로 열이 구성된다.
- dt로 파티션이 구분된다.
- IF NOT EXISTS 와 COMMENT 는 생략가능하다.
2. 파티션이 없을 경우
-- Example
-- dt | name | score | grade
CREATE TABLE IF NOT EXISTS kimheeji.TestTable (
dt STRING
, name STRING
, score INT
, grade STRING
)
- 1번과 같지만 이번에는 파티션을 따로 지정해주지 않았다.
- 위 테이블은 dt | name | score | grade 로 열이 구성된다.
- IF NOT EXISTS 와 COMMENT 는 생략가능하다.
3. 데이터 조회결과로 테이블 만들기
-- 조회하여 테이블 생성
CRESTE TABLE DB.테이블 as
SELECT * FROM db.table;
- SELECT문으로 조회한 결과로 테이블을 만든다.
728x90
'SQL > HIVE' 카테고리의 다른 글
[HIVE] map에 있는 key 조회하기 (0) | 2021.11.15 |
---|---|
[HIVE] 날짜 더하기 & 빼기 :: date_add, date_sub (0) | 2021.04.13 |
[HIVE] 테이블 삭제하기 :: DROP TABLE (0) | 2020.11.26 |
[HIVE] date_format 다루기 :: 날짜함수 (0) | 2020.11.10 |
[HIVE] 날짜에서 요일 구하기 :: date_format (0) | 2020.11.10 |
Comments