CREATE TABLE PARTITION BY

지리산근육곰·2022년 2월 10일
0

SQL

목록 보기
25/26

PARTITION BY

  • PARTITION을 테이블 생성시 사용할 경우 특정 컬럼의 특정 값에 대해서만 불러온다.
  • 생성하고자 하는 테이블의 용량이 클 경우 PARTITION을 활용하여 용량을 줄일 수 있다.
  • WHERE 절과는 다르게 사용된다.

예시

CREATE TABLE T1(
	COL_A		STRING
    , COL_B		STRING
)
PARTITIONED BY (BASE_YM	STRING)
-- HIVE 환경에서는 PARTITIONED BY를 사용한다.
-- MYSQL, ORACLE 환경에서는 다르게 작동한다.
;
  • T1 이라는 빈 테이블을 생성한다.
  • 이때 밑에 PARTITION BY 함수를 통해 지정하고자 하는 기준 BASE_YM을 설정한다.
INSERT OVERWRITE TABLE T1
PARTITION (BASE_YM = '202001')
SELECT
	T2.COL_A
    , T3.COL_B
FROM T2
LEFT JOIN T3
IN T2.NAME = T3.NAME
	AND T2.AGE = T3.AGE
WHERE T2.BASE_YM = '202001'
;
  • 처음에 사용된 INSERT OVERWRITE TABLE T1의 경우 T1 테이블에 덮어쓸 것이라는 문구를 나타낸다.
  • PARTITION 구문을 통해 T1의 BASE_YM = '202001'값을 테이블 T1에다가 T2, T3에 있는 값들을 OVERWRITE한다.

0개의 댓글