Home Alicloud MaxCompute Query
Post
Cancel

Alicloud MaxCompute Query

테이블 생성 및 변경


테이블 생성

  • 파티셔닝 설정한 테이블 생성
    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;
    



Reference