SnowConvert AI - Redshift - CREATE TABLE AS

Create Table As 구문 문법

설명

쿼리를 기준으로 새 테이블을 만듭니다. 이 테이블의 소유자는 명령을 실행하는 사용자입니다.

자세한 내용은 CREATE TABLE AS 설명서를 참조하십시오.

문법 구문

 CREATE [ [ LOCAL ] { TEMPORARY | TEMP } ]
TABLE table_name
[ ( column_name [, ... ] ) ]
[ BACKUP { YES | NO } ]
[ table_attributes ]
AS query

where table_attributes are:
[ DISTSTYLE { AUTO | EVEN | ALL | KEY } ]
[ DISTKEY( distkey_identifier ) ]
[ [ COMPOUND | INTERLEAVED ] SORTKEY( column_name [, ...] ) ]   

SnowConvert AI - Redshift - 테이블 시작

BACKUP

설명

Amazon Redshift가 테이블의 모든 열에 대한 인코딩 유형을 자동으로 조정하여 쿼리 성능을 최적화할 수 있도록 합니다. Snowflake에서는 다른 데이터베이스에서 볼 수 있는 BACKUP 개념이 직접 적용되지 않습니다. Snowflake는 Time Travel 및 Fail-safe와 같은 기본 제공 기능을 통해 데이터 백업 및 복구를 자동으로 처리하므로 수동 백업 작업이 필요하지 않습니다. 이러한 이유로 변환 프로세스 중에 BACKUP 문이 제거됩니다

See the Redshift data distribution documentation for this syntax.

문법 구문

 BACKUP { YES | NO }

샘플 소스 패턴

NO 옵션

기본적으로 Snowflake는 항상 생성된 테이블의 백업을 생성하므로 FDM 이 추가됩니다.

입력 코드:
Redshift
 CREATE TABLE table1
BACKUP NO
AS SELECT * FROM table_test;
출력 코드:
Snowflake
 CREATE TABLE table1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "02/10/2025",  "domain": "test" }}'
----** SSC-FDM-RS0001 - BACKUP NO OPTION IS NOT SUPPORTED IN SNOWFLAKE. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--BACKUP NO
AS SELECT * FROM
table_test;

YES 옵션

기본적으로 Snowflake는 생성된 테이블에 백업을 적용하므로 이 옵션은 제거되었습니다.

입력 코드:
Redshift
 CREATE TABLE table1
BACKUP YES
AS SELECT * FROM table_test;
출력 코드:
Snowflake
 CREATE TABLE table1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "02/10/2025",  "domain": "test" }}'
AS SELECT * FROM
table_test;

COLUMNS

설명

새 테이블의 열 이름입니다. 열 이름이 제공되지 않으면 열 이름은 쿼리의 출력 열 이름에서 가져옵니다.

See the Redshift CREATE TABLE documentation for this syntax.

문법 구문

 ( column_name [, ... ] )

샘플 소스 패턴

입력 코드:

Redshift
 CREATE TABLE table1 
(
    col1, col2, col3
)
AS SELECT col1, col2, col3 FROM table_test;
출력 코드:
Snowflake
 CREATE TABLE table1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
(
    col1, col2, col3
)
AS SELECT col1, col2, col3 FROM
        table_test;

관련 EWIs

알려진 문제는 없습니다.

LOCAL

설명

Amazon Redshift에서 LOCAL TEMPORARY 또는 TEMP 은 세션 기간 동안만 존재하는 임시 테이블을 만드는 데 사용됩니다. 이러한 테이블은 세션별로 다르며 세션이 종료되면 자동으로 삭제됩니다. 영구 데이터베이스 스키마에 영향을 주지 않고 중간 결과 또는 작업 데이터를 저장하는 데 유용합니다.

See the Redshift CREATE TABLE documentation for this syntax.

문법 구문

 LOCAL { TEMPORARY | TEMP }

샘플 소스 패턴

입력 코드:

Redshift
 CREATE LOCAL TEMP TABLE table1
AS SELECT FROM table_test;
출력 코드:
Snowflake
 CREATE LOCAL TEMP TABLE table1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
AS SELECT FROM
table_test;

관련 EWIs

알려진 문제는 없습니다.

SnowConvert AI - Redshift - Table Attributes

DISTKEY

설명

Amazon Redshift에서는 DISTKEY 를 사용하여 클러스터 노드 간에 데이터를 분산하여 쿼리 성능을 최적화합니다. 하지만 Snowflake는 명시적 배포 키 없이도 데이터 배포와 저장소를 자동으로 처리합니다. 아키텍처와 데이터 관리 접근법의 차이로 인해, Snowflake는 Redshift의 DISTKEY 와 직접적으로 동등한 기능을 가지고 있지 않습니다. 이러한 이유로 변환 프로세스 중에 DISTKEY 문이 제거됩니다

See the Redshift data distribution documentation for this syntax.

문법 구문

 DISTKEY ( column_name )

샘플 소스 패턴

입력 코드:

Redshift
 CREATE TABLE table1
DISTKEY (col1)
AS SELECT * FROM table_test;
출력 코드:
Snowflake
 CREATE TABLE table1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "02/10/2025",  "domain": "test" }}'
----** SSC-FDM-RS0001 - DISTKEY OPTION IS NOT SUPPORTED IN SNOWFLAKE. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
AS SELECT * FROM
table_test;

관련 EWIs

  • SSC-FDM-RS0001: Data storage option is not supported in Snowflake. Data distribution is automatically handled by Snowflake.

DISTSTYLE

설명

전체 테이블의 데이터 배포 스타일을 정의하는 키워드입니다.

See the Redshift data distribution documentation for this syntax.

문법 구문

 DISTSTYLE { AUTO | EVEN | KEY | ALL }

샘플 소스 패턴

입력 코드:

Redshift
 CREATE TABLE table1 
DISTSTYLE AUTO
AS SELECT * FROM table_test;

CREATE TABLE table2
DISTSTYLE EVEN
AS SELECT * FROM table_test;

CREATE TABLE table3
DISTSTYLE ALL
AS SELECT * FROM table_test;

CREATE TABLE table4
DISTSTYLE KEY
DISTKEY (col1)
AS SELECT * FROM table_test;
출력 코드:
Snowflake
 CREATE TABLE table1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION IS NOT SUPPORTED IN SNOWFLAKE. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE AUTO
AS SELECT * FROM
table_test;

CREATE TABLE table2
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
----** SSC-FDM-RS0001 - DISTSTYLE EVEN OPTION IS NOT SUPPORTED IN SNOWFLAKE. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE EVEN
AS SELECT * FROM
table_test;

CREATE TABLE table3
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
----** SSC-FDM-RS0001 - DISTSTYLE ALL OPTION IS NOT SUPPORTED IN SNOWFLAKE. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE ALL
AS SELECT * FROM
table_test;

CREATE TABLE table4
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
----** SSC-FDM-RS0001 - DISTSTYLE KEY OPTION IS NOT SUPPORTED IN SNOWFLAKE. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE KEY
----** SSC-FDM-RS0001 - DISTKEY OPTION IS NOT SUPPORTED IN SNOWFLAKE. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
AS SELECT * FROM
table_test;

관련 EWIs

  1. SSC-FDM-RS0001: Data storage option is not supported in Snowflake. Data distribution is automatically handled by Snowflake.

SORTKEY

설명

열이 테이블의 정렬 키임을 지정하는 키워드입니다. 둘 다 쿼리 성능을 위해 데이터 저장소를 최적화하기 때문에 Snowflake에서 Redshift의 SORTKEYCLUSTERBY 로 마이그레이션할 수 있습니다. CLUSTERBY 는 Redshift의 SORTKEY 에서 데이터를 주문하는 방식과 유사하게 지정된 열에 대해 데이터를 조직화합니다.

See the Redshift data distribution documentation for this syntax.

문법 구문

 [ COMPOUND | INTERLEAVED ] SORTKEY( column_name [, ...] )

샘플 소스 패턴

입력 코드:

Redshift
 CREATE TABLE table1 (
    col1,
    col2,
    col3,
    col4
)
COMPOUND SORTKEY (col1, col3)
AS SELECT * FROM table_test;

CREATE TABLE table2 (
    col1
)
INTERLEAVED SORTKEY (col1)
AS SELECT * FROM table_test;

CREATE TABLE table3 (
    col1
)
SORTKEY (col1)
AS SELECT * FROM table_test;
출력 코드:
Snowflake
 CREATE TABLE table1
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
(
    col1,
    col2,
    col3,
    col4
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1, col3)
AS SELECT * FROM
        table_test;

CREATE TABLE table2
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
(
    col1
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
AS SELECT * FROM
        table_test;

CREATE TABLE table3
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
(
    col1
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1)
AS SELECT * FROM
        table_test;

관련 EWIs

  1. SSC-FDM-RS0002: CLUSTER BY 의 성능은 Sortkey의 성능과 다를 수 있습니다.