SnowConvert AI - Greenplum - CREATE TABLE

Greenplum에서 Snowflake로의 변환

설명

이 섹션에서는 Greenplum의 독점적인 기능에 대해 설명합니다.

자세한 내용은 CREATE TABLE 설명서를 참조하세요.

문법 구문

CREATE TABLE <table_name> ( 
  [ <column_name> <data_type> [ ENCODING ( <storage_directive> [, ...] ) ]
] )
[ DISTRIBUTED BY ( <column> [<opclass>] [, ... ] ) 
    | DISTRIBUTED RANDOMLY
    | DISTRIBUTED REPLICATED ]
Copy

ENCODING

참고

이 구문은 Snowflake에서는 필요하지 않습니다.

열의 압축 인코딩입니다. Snowflake에서는 인코딩을 수동으로 설정할 수 있는 Greenplum과 달리 데이터 압축을 자동으로 처리하므로 ENCODING을 정의할 필요가 없습니다. 이러한 이유로, ENCODING 문이 마이그레이션 중에 제거됩니다.

문법 구문

ENCODING ( <storage_directive> [, ...] )
Copy

샘플 소스

입력 코드:

Greenplum
CREATE TABLE TABLE1 (
   COL1 integer ENCODING (compresstype = quicklz, blocksize = 65536)
);
Copy

출력 코드:

Snowflake
CREATE TABLE TABLE1 (
   COL1 integer
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "greenplum",  "convertedOn": "03/26/2025",  "domain": "test" }}'
;
Copy

DISTRIBUTED BY

Hint

이 구문은 Snowflake에서 완벽하게 지원됩니다.

Greenplum의 DISTRIBUTED BY 절은 테이블 데이터가 시스템의 세그먼트에 물리적으로 분산되는 방식을 제어합니다. 그렇지만 CLUSTER BY는 동일한 마이크로 파티션에서 테이블의 데이터를 같은 위치에 배치하도록 명시적으로 지정된 테이블(또는 테이블의 식)에 있는 열의 하위 세트입니다.

문법 구문

DISTRIBUTED BY ( <column> [<opclass>] [, ... ] )
Copy

샘플 소스 패턴

입력 코드:

Greenplum
CREATE TABLE table1 (colum1 int, colum2 int, colum3 smallint, colum4 int )
DISTRIBUTED BY (colum1, colum2);
Copy

출력 코드:

Snowflake
CREATE TABLE table1 (colum1 int, colum2 int, colum3 smallint, colum4 int )
--** SSC-FDM-GP0001 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF DISTRIBUTED BY **
CLUSTER BY (colum1, colum2)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "greenplum",  "convertedOn": "03/26/2025",  "domain": "test" }}'
;
Copy

DISTRIBUTED RANDOMLY - REPLICATED

참고

이 구문은 Snowflake에서는 필요하지 않습니다.

Greenplum의 DISTRIBUTED REPLICATED 또는 DISTRIBUTED RANDOMLY 절은 테이블 데이터가 시스템의 세그먼트에 물리적으로 분산되는 방식을 제어합니다. Snowflake는 데이터 저장소를 자동으로 처리하므로 마이그레이션에서 이러한 옵션이 제거됩니다.

문법 구문

DISTRIBUTED RANDOMLY | DISTRIBUTED REPLICATED
Copy

샘플 소스 패턴

입력 코드:

Greenplum
CREATE TABLE table1 (colum1 int, colum2 int, colum3 smallint, colum4 int )
DISTRIBUTED RANDOMLY;
Copy

출력 코드:

Snowflake
CREATE TABLE table1 (colum1 int, colum2 int, colum3 smallint, colum4 int )
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "greenplum",  "convertedOn": "03/26/2025",  "domain": "test" }}'
;
Copy