테이블 생성 및 변경
테이블 생성
- 파티셔닝 설정한 테이블 생성
1 2 3 4 5 6
CREATE TABLE {TABLE_ID} ( `{COLUMN_NAME}` {DATA_TYPE}, `{COLUMN_NAME}` {DATA_TYPE}, `{COLUMN_NAME}` {DATA_TYPE}, `datetime` datetime ) partitioned by (ds STRING);
- 기존 테이블 구조 복사해 새로운 테이블 생성
1
CREATE TABLE `{TGT_PROJECT_ID}.{TGT_TABLE_ID}` like `{SRC_PROJECT_ID}.{SRC_TABLE_ID}`;
- 원본 테이블 구조와 동일한 테이블 생성
테이블 수정
- 테이블명 변경
1
ALTER TABLE {SRC_TABLE_ID} RENAME TO {TGT_TABLE_ID};
- lifecycle 변경
1
ALTER TABLE {TABLE_ID} SET LIFECYCLE {INT};
테이블 삭제
- 테이블 삭제
1
DROP TABLE IF EXISTS `{PROJECT_ID}.{TABLE_ID}`;
칼럼 추가
- 칼럼 추가
1
ALTER TABLE {TABLE_ID} add {COLUMN_NAME} (`type` {DATA_TYPE});
데이터 복사 및 삭제
데이터 복사
- 특정 날짜 데이터 복사
1
INSERT INTO `{TGT_PROJECT_ID}.{TGT_TABLE_ID}` partition (ds) SELECT * FROM `{SRC_PROJECT_ID}.{SRC_TABLE_ID}` WHERE ds >= '2022-10-01';
- 중복 제거 후 특정 날짜 데이터 복사
1
INSERT INTO `{TGT_PROJECT_ID}.{TGT_TABLE_ID}` partition (ds) SELECT DISTINCT * FROM `{SRC_PROJECT_ID}.{SRC_TABLE_ID}` WHERE ds >= '2022-10-01';
1
INSERT INTO `{TGT_TABLE_ID}` partition (ds) SELECT DISTINCT * FROM `{SRC_TABLE_ID}` WHERE ds >= '2022-10-01';
데이터 삭제
- 특정 날짜 데이터 삭제
1
DELETE TABLE `{TABLE_ID}` WHERE ds >= '2022-10-01';
데이터 조회
데이터량 조회
- 날짜별 내림차순으로 데이터 수 조회
1
SELECT ds, count(*) AS count_ FROM {TABLE_ID} WHERE ds >= '2022-10-01' GROUP BY ds ORDER BY ASC;
- 날짜별 오름차순으로 데이터 수 조회
1
SELECT ds, count(*) AS count_ FROM {TABLE_ID} WHERE ds >= '2022-10-01' GROUP BY ds ORDER BY DESC;