SnowConvert : instructions Redshift SQL pour CREATE TABLE

CREATE TABLE

Description

Crée une nouvelle table dans la base de données actuelle. Vous définissez une liste de colonnes qui contiennent chacune des données d’un type distinct. Le propriétaire de la table est l’émetteur de la commande CREATE TABLE.

Pour plus d’informations, veuillez vous référer à la documentation CREATE TABLE.

Grammar Syntax

 CREATE [ [LOCAL ] { TEMPORARY | TEMP } ] TABLE
[ IF NOT EXISTS ] table_name
( { column_name data_type [column_attributes] [ column_constraints ]
  | table_constraints
  | LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] }
  [, ... ]  )
[ BACKUP { YES | NO } ]
[table_attributes]

where column_attributes are:
  [ DEFAULT default_expr ]
  [ IDENTITY ( seed, step ) ]
  [ GENERATED BY DEFAULT AS IDENTITY ( seed, step ) ]
  [ ENCODE encoding ]
  [ DISTKEY ]
  [ SORTKEY ]
  [ COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE  ]

and column_constraints are:
  [ { NOT NULL | NULL } ]
  [ { UNIQUE  |  PRIMARY KEY } ]
  [ REFERENCES reftable [ ( refcolumn ) ] ]

and table_constraints  are:
  [ UNIQUE ( column_name [, ... ] ) ]
  [ PRIMARY KEY ( column_name [, ... ] )  ]
  [ FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn ) ]


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

Début de la table

BACKUP

Description

Permet à Amazon Redshift d’ajuster automatiquement le type d’encodage pour toutes les colonnes de la table afin d’optimiser les performances des requêtes. Dans Snowflake, le concept de BACKUP tel qu’il est utilisé dans d’autres bases de données n’est pas directement applicable. Snowflake gère automatiquement la sauvegarde et la récupération des données grâce à ses fonctions intégrées telles que Time Travel et Fail-safe, éliminant ainsi le besoin d’opérations de sauvegarde manuelles. Pour ces raisons, l’instruction BACKUP est supprimée au cours du processus de transformation

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 BACKUP { YES | NO }
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
BACKUP YES;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

IF NOT EXISTS

Description

Dans Amazon Redshift, IF NOT EXISTS est utilisé dans les commandes de création de table pour éviter les erreurs si la table existe déjà. Lorsqu’il est inclus, il garantit que la table n’est créée que si elle n’existe pas déjà, ce qui évite les doublons et les erreurs dans votre script SQL.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 IF NOT EXISTS
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
);
Copy
Code de sortie :
 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs connexes

Il n’y a pas de problème connu.

LOCAL

Description

Dans Amazon Redshift, LOCAL TEMPORARY ou TEMP sont utilisés pour créer des tables temporaires qui n’existent que pour la durée de la session. Ces tables sont propres à chaque session et sont automatiquement supprimées à la fin de la session. Elles sont utiles pour stocker des résultats intermédiaires ou des données de travail sans affecter le schéma permanent de la base de données.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 LOCAL { TEMPORARY | TEMP }
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
);
Copy
Code de sortie :
 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs connexes

Il n’y a pas de problème connu.

Contraintes de tables

FOREIGN KEY

Description

Contrainte spécifiant une contrainte de clé étrangère, qui exige qu’un groupe d’une ou plusieurs colonnes de la nouvelle table ne contienne que des valeurs correspondant aux valeurs de la ou des colonnes référencées d’une certaine ligne de la table référencée.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Avertissement

La traduction de la clé étrangère sera livrée ultérieurement.

Grammar Syntax

 FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table15 (
    col1 INTEGER,
    FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Copy
Code de sortie :
 CREATE TABLE table15 (
    col1 INTEGER
--                ,
--    --** SSC-FDM-RS0003 - THE TRANSLATION FOR FOREIGN KEY IS NOT AVAILABLE, IT WILL BE PROVIDED IN THE FUTURE. **
--    FOREIGN KEY (col1) REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/26/2024" }}';
Copy

EWIs connexes

  • SSC-FDM-RSOOO3 : la traduction des clés étrangères sera prise en charge à l’avenir.

PRIMARY KEY

Description

Spécifie qu’une colonne ou un certain nombre de colonnes d’une table ne peut contenir que des valeurs uniques et non nulles

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

Dans Snowflake, les clés uniques, primaires et étrangères sont utilisées pour la documentation et n’imposent pas de contraintes ou d’unicité. Elles aident à décrire les relations entre les tables, mais n’ont aucune incidence sur l’intégrité des données ou les performances.

Grammar Syntax

 PRIMARY KEY ( column_name [, ... ] )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    PRIMARY KEY (col1)
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    PRIMARY KEY (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

UNIQUE

Description

Spécifie qu’un groupe d’une ou plusieurs colonnes d’une table ne peut contenir que des valeurs uniques.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

Dans Snowflake, les clés uniques, primaires et étrangères sont utilisées pour la documentation et n’imposent pas de contraintes ou d’unicité. Elles aident à décrire les relations entre les tables, mais n’ont aucune incidence sur l’intégrité des données ou les performances.

Grammar Syntax

 UNIQUE ( column_name [, ... ] )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    UNIQUE ( col1, col2 )
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    UNIQUE ( col1, col2 )
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

Contrainte de colonne

NOT NULL | NULL

Description

NOT NULL spécifie que la colonne n’est pas autorisée à contenir des valeurs nulles. NULL, par défaut, spécifie que la colonne accepte les valeurs nulles.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 NOT NULL | NULL
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER NOT NULL, 
    col2 INTEGER NULL
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER NOT NULL,
    col2 INTEGER NULL
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

REFERENCES

Description

Spécifie une contrainte de clé étrangère, ce qui implique que la colonne ne doit contenir que des valeurs qui correspondent aux valeurs de la colonne référencée d’une certaine ligne de la table référencée

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 REFERENCES reftable [ ( refcolumn ) ]
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

UNIQUE | PRIMARY KEY

Description

Spécifie que la colonne ne peut contenir que des valeurs uniques. Dans Snowflake, UNIQUE et PRIMARY KEY sont utilisées pour documenter et structurer les données, mais elles n’ont pas de fonctionnalité de validation active des données au sens où vous pourriez l’attendre dans d’autres systèmes de base de données qui appliquent ces restrictions au niveau du stockage.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

Dans Snowflake, les clés uniques, primaires et étrangères sont utilisées pour la documentation et n’imposent pas de contraintes ou d’unicité. Elles aident à décrire les relations entre les tables, mais n’ont aucune incidence sur l’intégrité des données ou les performances.

Grammar Syntax

 UNIQUE | PRIMARY KEY
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

Attributs des colonnes

COLLATE

Description

Spécifie si la recherche ou la comparaison de chaînes sur la colonne est CASE_SENSITIVE or CASE_INSENSITIVE.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

La langue de classement par défaut est l’anglais. Si votre base de données utilise une autre langue, veuillez mettre à jour le préfixe « en- » pour qu’il corresponde à la langue de votre base de données. Pour plus d’informations, veuillez vous référer à ce lien.

Grammar Syntax

 COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 TEXT COLLATE CASE_SENSITIVE,
    col2 TEXT COLLATE CASE_INSENSITIVE
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 TEXT COLLATE 'en-cs',
    col2 TEXT COLLATE 'en-ci'
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

Problèmes connus

Il n’y a pas de problème connu.

DEFAULT

Description

Attribue une valeur par défaut aux données de la colonne.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DEFAULT default_expr
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

DISTKEY

Description

Dans Amazon Redshift, l’instruction DISTKEY est utilisée pour distribuer les données sur les nœuds du cluster afin d’optimiser les performances des requêtes. Snowflake, en revanche, gère automatiquement la distribution et le stockage des données sans avoir besoin de clés de distribution explicites. En raison des différences d’architecture et d’approches de gestion des données, Snowflake n’a pas d’équivalent direct à l’instruction DISTKEY de Redshift. Pour ces raisons, l’instruction DISTKEY est supprimée au cours du processus de transformation

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DISTKEY
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER DISTKEY
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

ENCODE

Description

Le codage de compression pour une colonne. Dans Snowflake, la définition de ENCODE est inutile car il gère automatiquement la compression des données, contrairement à Redshift, qui nécessite des paramètres d’encodage manuels. C’est pourquoi l’instruction ENCODE est supprimée lors de la migration.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 ENCODE encoding
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER ENCODE DELTA
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

GENERATED BY DEFAULT AS IDENTITY

Description

Spécifie que la colonne est une colonne IDENTITY par défaut et vous permet d’attribuer automatiquement une valeur par défaut à la colonne.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER IDENTITY(1,1) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

IDENTITY

Description

Clause qui spécifie que la colonne est une colonne IDENTITY. (Référence linguistique RedShift SQL Identity).

Grammar Syntax

 IDENTITY ( seed, step )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1),
    id2 INTEGER  DEFAULT "identity"(674435, 0, ('5,3'::character varying)::text),
    id3 INTEGER  DEFAULT default_identity(963861, 1, '1,2'::text),
    id4 INTEGER  DEFAULT "default_identity"(963861, 1, '1,6'::text)
);

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Code de sortie :
 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1) ORDER,
    id2 INTEGER IDENTITY(5,3) ORDER,
    id3 INTEGER IDENTITY(1,2) ORDER,
    id4 INTEGER IDENTITY(1,6) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "12/04/2024",  "domain": "test" }}';

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM
 table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Problèmes connus

Aucun problème n’a été constaté.

EWIs connexes

Il n’y a pas de problème connu.

SORTKEY

Description

Le mot-clé qui spécifie que la colonne est la clé de tri de la table. Dans Snowflake, SORTKEY de Redshift peut être migré vers CLUSTER BY car les deux optimisent le stockage des données pour la performance des requêtes. CLUSTER BY dans Snowflake organise les données sur des colonnes spécifiées, de la même manière que SORTKEY ordonne les données dans Redshift.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 SORTKEY
Copy

Modèles d’échantillons de sources

Code d’entrée :

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

Problèmes connus

  1. SSC-FDM-RS0002 : les performances de CLUSTER BY peuvent varier par rapport aux performances de la Sortkey ou de la Distkey.

Attributs de la table

DISTKEY

Description

Dans Amazon Redshift, l’instruction DISTKEY est utilisée pour distribuer les données sur les nœuds du cluster afin d’optimiser les performances des requêtes. Snowflake, en revanche, gère automatiquement la distribution et le stockage des données sans avoir besoin de clés de distribution explicites. En raison des différences d’architecture et d’approches de gestion des données, Snowflake n’a pas d’équivalent direct à l’instruction DISTKEY de Redshift.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DISTKEY ( column_name )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTKEY (col1);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTKEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "03/03/2025",  "domain": "test" }}';
Copy

EWIs connexes

  1. SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.

DISTSTYLE

Description

Mot-clé qui définit le style de distribution des données pour l’ensemble de la table.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DISTSTYLE { AUTO | EVEN | KEY | ALL }
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTSTYLE AUTO;

CREATE TABLE table2 (
    col1 INTEGER
)
DISTSTYLE EVEN;

CREATE TABLE table3 (
    col1 INTEGER
)
DISTSTYLE KEY
DISTKEY (col1);

CREATE TABLE table4 (
    col1 INTEGER
)
DISTSTYLE ALL;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';

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

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

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

EWIs connexes

  1. SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.

ENCODE

Description

Dans Snowflake, la définition de ENCODE est inutile car il gère automatiquement la compression des données, contrairement à Redshift, qui nécessite des paramètres d’encodage manuels. C’est pourquoi l’instruction ENCODE est supprimée lors de la migration.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 ENCODE AUTO
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
ENCODE AUTO;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

SORTKEY

Description

Le mot-clé qui spécifie que la colonne est la clé de tri de la table. Dans Snowflake, SORTKEY de Redshift peut être migré vers CLUSTER BY car les deux optimisent le stockage des données pour la performance des requêtes. CLUSTER BY dans Snowflake organise les données sur des colonnes spécifiées, de la même manière que SORTKEY ordonne les données dans Redshift.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

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

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
COMPOUND SORTKEY (col1, col3);

CREATE TABLE table2 (
    col1 INTEGER
)
INTERLEAVED SORTKEY (col1);

CREATE TABLE table3 (
    col1 INTEGER
)
SORTKEY AUTO;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1, col3)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

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

CREATE TABLE table3 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - SORTKEY AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--SORTKEY AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs connexes

  1. SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.

  2. SSC-FDM-RS0002 : les performances de CLUSTER BY peuvent varier par rapport à la performance de Sortkey.

CREATE TABLE

Description

Crée une nouvelle table dans la base de données actuelle. Vous définissez une liste de colonnes qui contiennent chacune des données d’un type distinct. Le propriétaire de la table est l’émetteur de la commande CREATE TABLE.

Pour plus d’informations, veuillez vous référer à la documentation CREATE TABLE.

Grammar Syntax

 CREATE [ [LOCAL ] { TEMPORARY | TEMP } ] TABLE
[ IF NOT EXISTS ] table_name
( { column_name data_type [column_attributes] [ column_constraints ]
  | table_constraints
  | LIKE parent_table [ { INCLUDING | EXCLUDING } DEFAULTS ] }
  [, ... ]  )
[ BACKUP { YES | NO } ]
[table_attributes]

where column_attributes are:
  [ DEFAULT default_expr ]
  [ IDENTITY ( seed, step ) ]
  [ GENERATED BY DEFAULT AS IDENTITY ( seed, step ) ]
  [ ENCODE encoding ]
  [ DISTKEY ]
  [ SORTKEY ]
  [ COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE  ]

and column_constraints are:
  [ { NOT NULL | NULL } ]
  [ { UNIQUE  |  PRIMARY KEY } ]
  [ REFERENCES reftable [ ( refcolumn ) ] ]

and table_constraints  are:
  [ UNIQUE ( column_name [, ... ] ) ]
  [ PRIMARY KEY ( column_name [, ... ] )  ]
  [ FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn ) ]


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

Début de la table

BACKUP

Description

Permet à Amazon Redshift d’ajuster automatiquement le type d’encodage pour toutes les colonnes de la table afin d’optimiser les performances des requêtes. Dans Snowflake, le concept de BACKUP tel qu’il est utilisé dans d’autres bases de données n’est pas directement applicable. Snowflake gère automatiquement la sauvegarde et la récupération des données grâce à ses fonctions intégrées telles que Time Travel et Fail-safe, éliminant ainsi le besoin d’opérations de sauvegarde manuelles. Pour ces raisons, l’instruction BACKUP est supprimée au cours du processus de transformation

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 BACKUP { YES | NO }
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
BACKUP YES;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

IF NOT EXISTS

Description

Dans Amazon Redshift, IF NOT EXISTS est utilisé dans les commandes de création de table pour éviter les erreurs si la table existe déjà. Lorsqu’il est inclus, il garantit que la table n’est créée que si elle n’existe pas déjà, ce qui évite les doublons et les erreurs dans votre script SQL.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 IF NOT EXISTS
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
);
Copy
Code de sortie :
 CREATE TABLE IF NOT EXISTS table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs connexes

Il n’y a pas de problème connu.

LOCAL

Description

Dans Amazon Redshift, LOCAL TEMPORARY ou TEMP sont utilisés pour créer des tables temporaires qui n’existent que pour la durée de la session. Ces tables sont propres à chaque session et sont automatiquement supprimées à la fin de la session. Elles sont utiles pour stocker des résultats intermédiaires ou des données de travail sans affecter le schéma permanent de la base de données.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 LOCAL { TEMPORARY | TEMP }
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
);
Copy
Code de sortie :
 CREATE LOCAL TEMPORARY TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs connexes

Il n’y a pas de problème connu.

Contraintes de tables

FOREIGN KEY

Description

Contrainte spécifiant une contrainte de clé étrangère, qui exige qu’un groupe d’une ou plusieurs colonnes de la nouvelle table ne contienne que des valeurs correspondant aux valeurs de la ou des colonnes référencées d’une certaine ligne de la table référencée.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Avertissement

La traduction de la clé étrangère sera livrée ultérieurement.

Grammar Syntax

 FOREIGN KEY (column_name [, ... ] ) REFERENCES reftable [ ( refcolumn )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table15 (
    col1 INTEGER,
    FOREIGN KEY (col1) REFERENCES table_test (col1)
);
Copy
Code de sortie :
 CREATE TABLE table15 (
    col1 INTEGER
--                ,
--    --** SSC-FDM-RS0003 - THE TRANSLATION FOR FOREIGN KEY IS NOT AVAILABLE, IT WILL BE PROVIDED IN THE FUTURE. **
--    FOREIGN KEY (col1) REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/26/2024" }}';
Copy

EWIs connexes

  • SSC-FDM-RSOOO3 : la traduction des clés étrangères sera prise en charge à l’avenir.

PRIMARY KEY

Description

Spécifie qu’une colonne ou un certain nombre de colonnes d’une table ne peut contenir que des valeurs uniques et non nulles

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

Dans Snowflake, les clés uniques, primaires et étrangères sont utilisées pour la documentation et n’imposent pas de contraintes ou d’unicité. Elles aident à décrire les relations entre les tables, mais n’ont aucune incidence sur l’intégrité des données ou les performances.

Grammar Syntax

 PRIMARY KEY ( column_name [, ... ] )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    PRIMARY KEY (col1)
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    PRIMARY KEY (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

UNIQUE

Description

Spécifie qu’un groupe d’une ou plusieurs colonnes d’une table ne peut contenir que des valeurs uniques.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

Dans Snowflake, les clés uniques, primaires et étrangères sont utilisées pour la documentation et n’imposent pas de contraintes ou d’unicité. Elles aident à décrire les relations entre les tables, mais n’ont aucune incidence sur l’intégrité des données ou les performances.

Grammar Syntax

 UNIQUE ( column_name [, ... ] )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER, 
    col2 INTEGER,
    UNIQUE ( col1, col2 )
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 INTEGER,
    UNIQUE ( col1, col2 )
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

Contrainte de colonne

NOT NULL | NULL

Description

NOT NULL spécifie que la colonne n’est pas autorisée à contenir des valeurs nulles. NULL, par défaut, spécifie que la colonne accepte les valeurs nulles.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 NOT NULL | NULL
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER NOT NULL, 
    col2 INTEGER NULL
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER NOT NULL,
    col2 INTEGER NULL
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

REFERENCES

Description

Spécifie une contrainte de clé étrangère, ce qui implique que la colonne ne doit contenir que des valeurs qui correspondent aux valeurs de la colonne référencée d’une certaine ligne de la table référencée

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 REFERENCES reftable [ ( refcolumn ) ]
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER REFERENCES table_test (col1)
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

UNIQUE | PRIMARY KEY

Description

Spécifie que la colonne ne peut contenir que des valeurs uniques. Dans Snowflake, UNIQUE et PRIMARY KEY sont utilisées pour documenter et structurer les données, mais elles n’ont pas de fonctionnalité de validation active des données au sens où vous pourriez l’attendre dans d’autres systèmes de base de données qui appliquent ces restrictions au niveau du stockage.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

Dans Snowflake, les clés uniques, primaires et étrangères sont utilisées pour la documentation et n’imposent pas de contraintes ou d’unicité. Elles aident à décrire les relations entre les tables, mais n’ont aucune incidence sur l’intégrité des données ou les performances.

Grammar Syntax

 UNIQUE | PRIMARY KEY
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER PRIMARY KEY,
    col2 INTEGER UNIQUE
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

Attributs des colonnes

COLLATE

Description

Spécifie si la recherche ou la comparaison de chaînes sur la colonne est CASE_SENSITIVE or CASE_INSENSITIVE.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Note

La langue de classement par défaut est l’anglais. Si votre base de données utilise une autre langue, veuillez mettre à jour le préfixe « en- » pour qu’il corresponde à la langue de votre base de données. Pour plus d’informations, veuillez vous référer à ce lien.

Grammar Syntax

 COLLATE CASE_SENSITIVE | COLLATE CASE_INSENSITIVE
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 TEXT COLLATE CASE_SENSITIVE,
    col2 TEXT COLLATE CASE_INSENSITIVE
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 TEXT COLLATE 'en-cs',
    col2 TEXT COLLATE 'en-ci'
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

Problèmes connus

Il n’y a pas de problème connu.

DEFAULT

Description

Attribue une valeur par défaut aux données de la colonne.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DEFAULT default_expr
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER DEFAULT 1
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

DISTKEY

Description

Dans Amazon Redshift, l’instruction DISTKEY est utilisée pour distribuer les données sur les nœuds du cluster afin d’optimiser les performances des requêtes. Snowflake, en revanche, gère automatiquement la distribution et le stockage des données sans avoir besoin de clés de distribution explicites. En raison des différences d’architecture et d’approches de gestion des données, Snowflake n’a pas d’équivalent direct à l’instruction DISTKEY de Redshift. Pour ces raisons, l’instruction DISTKEY est supprimée au cours du processus de transformation

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DISTKEY
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER DISTKEY
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

ENCODE

Description

Le codage de compression pour une colonne. Dans Snowflake, la définition de ENCODE est inutile car il gère automatiquement la compression des données, contrairement à Redshift, qui nécessite des paramètres d’encodage manuels. C’est pourquoi l’instruction ENCODE est supprimée lors de la migration.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 ENCODE encoding
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER ENCODE DELTA
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

GENERATED BY DEFAULT AS IDENTITY

Description

Spécifie que la colonne est une colonne IDENTITY par défaut et vous permet d’attribuer automatiquement une valeur par défaut à la colonne.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 GENERATED BY DEFAULT AS IDENTITY ( seed, step )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER IDENTITY(1,1) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

IDENTITY

Description

Clause qui spécifie que la colonne est une colonne IDENTITY. (Référence linguistique RedShift SQL Identity).

Grammar Syntax

 IDENTITY ( seed, step )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1),
    id2 INTEGER  DEFAULT "identity"(674435, 0, ('5,3'::character varying)::text),
    id3 INTEGER  DEFAULT default_identity(963861, 1, '1,2'::text),
    id4 INTEGER  DEFAULT "default_identity"(963861, 1, '1,6'::text)
);

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Code de sortie :
 CREATE TABLE table1 (
    doc INTEGER,
    id1 INTEGER IDENTITY(1,1) ORDER,
    id2 INTEGER IDENTITY(5,3) ORDER,
    id3 INTEGER IDENTITY(1,2) ORDER,
    id4 INTEGER IDENTITY(1,6) ORDER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "12/04/2024",  "domain": "test" }}';

INSERT INTO table1 (doc) VALUES (1),(2),(3);

SELECT * FROM
 table1;
Copy

DOC

ID1

ID2

ID3

ID4

1

1

5

1

1

2

2

8

3

7

3

3

11

5

13

Problèmes connus

Aucun problème n’a été constaté.

EWIs connexes

Il n’y a pas de problème connu.

SORTKEY

Description

Le mot-clé qui spécifie que la colonne est la clé de tri de la table. Dans Snowflake, SORTKEY de Redshift peut être migré vers CLUSTER BY car les deux optimisent le stockage des données pour la performance des requêtes. CLUSTER BY dans Snowflake organise les données sur des colonnes spécifiées, de la même manière que SORTKEY ordonne les données dans Redshift.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 SORTKEY
Copy

Modèles d’échantillons de sources

Code d’entrée :

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

Problèmes connus

  1. SSC-FDM-RS0002 : les performances de CLUSTER BY peuvent varier par rapport aux performances de la Sortkey ou de la Distkey.

Attributs de la table

DISTKEY

Description

Dans Amazon Redshift, l’instruction DISTKEY est utilisée pour distribuer les données sur les nœuds du cluster afin d’optimiser les performances des requêtes. Snowflake, en revanche, gère automatiquement la distribution et le stockage des données sans avoir besoin de clés de distribution explicites. En raison des différences d’architecture et d’approches de gestion des données, Snowflake n’a pas d’équivalent direct à l’instruction DISTKEY de Redshift.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DISTKEY ( column_name )
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTKEY (col1);
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTKEY OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTKEY (col1)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "03/03/2025",  "domain": "test" }}';
Copy

EWIs connexes

  1. SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.

DISTSTYLE

Description

Mot-clé qui définit le style de distribution des données pour l’ensemble de la table.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 DISTSTYLE { AUTO | EVEN | KEY | ALL }
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
DISTSTYLE AUTO;

CREATE TABLE table2 (
    col1 INTEGER
)
DISTSTYLE EVEN;

CREATE TABLE table3 (
    col1 INTEGER
)
DISTSTYLE KEY
DISTKEY (col1);

CREATE TABLE table4 (
    col1 INTEGER
)
DISTSTYLE ALL;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - DISTSTYLE AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--DISTSTYLE AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';

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

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

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

EWIs connexes

  1. SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.

ENCODE

Description

Dans Snowflake, la définition de ENCODE est inutile car il gère automatiquement la compression des données, contrairement à Redshift, qui nécessite des paramètres d’encodage manuels. C’est pourquoi l’instruction ENCODE est supprimée lors de la migration.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

 ENCODE AUTO
Copy

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER
)
ENCODE AUTO;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER
)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;
Copy

EWIs connexes

Il n’y a pas de problème connu.

SORTKEY

Description

Le mot-clé qui spécifie que la colonne est la clé de tri de la table. Dans Snowflake, SORTKEY de Redshift peut être migré vers CLUSTER BY car les deux optimisent le stockage des données pour la performance des requêtes. CLUSTER BY dans Snowflake organise les données sur des colonnes spécifiées, de la même manière que SORTKEY ordonne les données dans Redshift.

Cliquez ici pour accéder à la page de documentation d’Amazon Redshift relative à cette syntaxe.

Grammar Syntax

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

Modèles d’échantillons de sources

Code d’entrée :

 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
COMPOUND SORTKEY (col1, col3);

CREATE TABLE table2 (
    col1 INTEGER
)
INTERLEAVED SORTKEY (col1);

CREATE TABLE table3 (
    col1 INTEGER
)
SORTKEY AUTO;
Copy
Code de sortie :
 CREATE TABLE table1 (
    col1 INTEGER,
    col2 VARCHAR,
    col3 INTEGER,
    col4 INTEGER
)
--** SSC-FDM-RS0002 - THE PERFORMANCE OF THE CLUSTER BY MAY VARY COMPARED TO THE PERFORMANCE OF SORTKEY **
CLUSTER BY (col1, col3)
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}'
;

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

CREATE TABLE table3 (
    col1 INTEGER
)
----** SSC-FDM-RS0001 - SORTKEY AUTO OPTION NOT SUPPORTED. DATA STORAGE IS AUTOMATICALLY HANDLED BY SNOWFLAKE. **
--SORTKEY AUTO
COMMENT = '{ "origin": "sf_sc", "name": "snowconvert", "version": {  "major": 0,  "minor": 0,  "patch": "0" }, "attributes": {  "component": "redshift",  "convertedOn": "09/17/2024" }}';
Copy

EWIs connexes

  1. SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.

  2. SSC-FDM-RS0002 : les performances de CLUSTER BY peuvent varier par rapport à la performance de Sortkey.