SnowConvert AI - Greenplum - CREATE TABLE

Traduction de Greenplum vers Snowflake

Description

Cette section explique les fonctionnalités exclusives à Greenplum.

Pour plus d’informations, voir la documentation CREATE TABLE.

Grammar Syntax

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

ENCODING

Note

Cette syntaxe n’est pas nécessaire dans Snowflake.

L’encodage de compression pour une colonne. Dans Snowflake, définir ENCODING n’est pas nécessaire car il gère automatiquement la compression des données, contrairement à Greenplum, qui pourrait configurer l’encodage manuellement. C’est pourquoi l’instruction ENCODING est supprimée pendant la migration.

Grammar Syntax

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

Source d’exemple

Code d’entrée :

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

Code de sortie :

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

Cette syntaxe est entièrement prise en charge par Snowflake.

La clause DISTRIBUTED BY dans Greenplum contrôle la manière dont les données des tables sont physiquement réparties entre les segments du système. Entre-temps, CLUSTER BY est un sous-ensemble de colonnes dans une table (ou d’expressions sur une table) qui sont explicitement désignées pour co-localiser les données dans la table dans les mêmes micro-partitions.

Grammar Syntax

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

Modèles d’échantillons de sources

Code d’entrée :

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

Code de sortie :

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

Note

Cette syntaxe n’est pas nécessaire dans Snowflake.

La clause DISTRIBUTED REPLICATED ou DISTRIBUTED RANDOMLY dans Greenplum contrôle la manière dont les données des tables sont physiquement réparties entre les segments du système. Comme Snowflake gère automatiquement le stockage de données, ces options seront supprimées lors de la migration.

Grammar Syntax

DISTRIBUTED RANDOMLY | DISTRIBUTED REPLICATED
Copy

Modèles d’échantillons de sources

Code d’entrée :

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

Code de sortie :

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