SnowConvert AI - Greenplum - CREATE TABLE

Tradução do Greenplum para o Snowflake

Descrição

Esta seção explica os recursos exclusivos do Greenplum.

Para obter mais informações, consulte a documentação CREATE TABLE.

Sintaxe da gramática

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

ENCODING

Nota

Essa sintaxe não é necessária no Snowflake.

A codificação de compressão para uma coluna. No Snowflake, a definição de ENCODING é desnecessário porque lida automaticamente com a compressão de dados, ao contrário do Greenplum, que poderia configurar a codificação manualmente. Por esta razão, a instrução ENCODING é removida durante a migração.

Sintaxe da gramática

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

Fonte da amostra

Código de entrada:

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

Código de saída:

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

Dica

Essa sintaxe é totalmente compatível com o Snowflake.

A cláusula DISTRIBUTED BY no Greenplum controla como os dados da tabela são fisicamente distribuídos entre os segmentos do sistema. Enquanto isso, CLUSTER BY é um subconjunto de colunas em uma tabela (ou expressões em uma tabela) que são explicitamente designadas para colocalizar os dados na tabela nas mesmas micropartições.

Sintaxe da gramática

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

Amostra de padrões da origem

Código de entrada:

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

Código de saída:

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

Nota

Essa sintaxe não é necessária no Snowflake.

A cláusula DISTRIBUTED REPLICATED ou DISTRIBUTED RANDOMLY no Greenplum controla como os dados da tabela são fisicamente distribuídos entre os segmentos do sistema. Como o Snowflake lida automaticamente com o armazenamento de dados, estas opções serão removidas na migração.

Sintaxe da gramática

DISTRIBUTED RANDOMLY | DISTRIBUTED REPLICATED
Copy

Amostra de padrões da origem

Código de entrada:

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

Código de saída:

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