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 ]
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 }
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER
)
BACKUP YES;
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE IF NOT EXISTS table1 (
col1 INTEGER
);
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" }}';
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 }
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE LOCAL TEMPORARY TABLE table1 (
col1 INTEGER
);
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" }}';
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 )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table15 (
col1 INTEGER,
FOREIGN KEY (col1) REFERENCES table_test (col1)
);
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" }}';
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 [, ... ] )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
PRIMARY KEY (col1)
);
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" }}'
;
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 [, ... ] )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
UNIQUE ( col1, col2 )
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER NOT NULL,
col2 INTEGER NULL
);
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" }}'
;
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 ) ]
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER REFERENCES table_test (col1)
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER PRIMARY KEY,
col2 INTEGER UNIQUE
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 TEXT COLLATE CASE_SENSITIVE,
col2 TEXT COLLATE CASE_INSENSITIVE
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER DEFAULT 1
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER DISTKEY
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER ENCODE DELTA
);
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" }}'
;
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 )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
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" }}'
;
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 )
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;
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;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER SORTKEY
);
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" }}';
Problèmes connus¶
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 )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER
)
DISTKEY (col1);
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" }}';
EWIs connexes¶
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 }
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;
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" }}';
EWIs connexes¶
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER
)
ENCODE AUTO;
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" }}'
;
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 ]
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;
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" }}';
EWIs connexes¶
SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.
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 ]
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 }
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER
)
BACKUP YES;
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE IF NOT EXISTS table1 (
col1 INTEGER
);
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" }}';
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 }
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE LOCAL TEMPORARY TABLE table1 (
col1 INTEGER
);
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" }}';
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 )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table15 (
col1 INTEGER,
FOREIGN KEY (col1) REFERENCES table_test (col1)
);
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" }}';
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 [, ... ] )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
PRIMARY KEY (col1)
);
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" }}'
;
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 [, ... ] )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER,
col2 INTEGER,
UNIQUE ( col1, col2 )
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER NOT NULL,
col2 INTEGER NULL
);
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" }}'
;
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 ) ]
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER REFERENCES table_test (col1)
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER PRIMARY KEY,
col2 INTEGER UNIQUE
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 TEXT COLLATE CASE_SENSITIVE,
col2 TEXT COLLATE CASE_INSENSITIVE
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER DEFAULT 1
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER DISTKEY
);
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" }}'
;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER ENCODE DELTA
);
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" }}'
;
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 )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER GENERATED BY DEFAULT AS IDENTITY(1,1)
);
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" }}'
;
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 )
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;
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;
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER SORTKEY
);
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" }}';
Problèmes connus¶
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 )
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER
)
DISTKEY (col1);
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" }}';
EWIs connexes¶
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 }
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;
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" }}';
EWIs connexes¶
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
Modèles d’échantillons de sources¶
Code d’entrée :¶
CREATE TABLE table1 (
col1 INTEGER
)
ENCODE AUTO;
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" }}'
;
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 ]
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;
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" }}';
EWIs connexes¶
SSC-FDM-RS0001 : option non prise en charge. Le stockage des données est automatiquement pris en charge par Snowflake.
SSC-FDM-RS0002 : les performances de CLUSTER BY peuvent varier par rapport à la performance de Sortkey.