Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Connexion à un entrepôt de données Snowflake avec AWS Schema Conversion Tool
Vous pouvez l'utiliser AWS SCT pour convertir des schémas, des objets de code et du code d'application de Snowflake vers Amazon Redshift.
Privilèges pour Snowflake en tant que base de données source
Vous pouvez créer un rôle doté de privilèges et attribuer à ce rôle le nom d'un utilisateur en utilisant le SECURITYADMIN
rôle et le contexte de SECURITYADMIN
session.
L'exemple suivant crée des privilèges minimaux et les accorde à l'min_privs
utilisateur.
create role
role_name
; grant rolerole_name
to role sysadmin; grant usage on databasedb_name
to rolerole_name
; grant usage on schemadb_name
.schema_name
to rolerole_name
; grant usage on warehousedatawarehouse_name
to rolerole_name
; grant monitor on databasedb_name
to rolerole_name
; grant monitor on warehousedatawarehouse_name
to rolerole_name
; grant select on all tables in schemadb_name
.schema_name
to rolerole_name
; grant select on future tables in schemadb_name
.schema_name
to rolerole_name
; grant select on all views in schemadb_name
.schema_name
to rolerole_name
; grant select on future views in schemadb_name
.schema_name
to rolerole_name
; grant select on all external tables in schemadb_name
.schema_name
to rolerole_name
; grant select on future external tables in schemadb_name
.schema_name
to rolerole_name
; grant usage on all sequences in schemadb_name
.schema_name
to rolerole_name
; grant usage on future sequences in schemadb_name
.schema_name
to rolerole_name
; grant usage on all functions in schemadb_name
.schema_name
to rolerole_name
; grant usage on future functions in schemadb_name
.schema_name
to rolerole_name
; grant usage on all procedures in schemadb_name
.schema_name
to rolerole_name
; grant usage on future procedures in schemadb_name
.schema_name
to rolerole_name
; create user min_privs password='real_user_password
' DEFAULT_ROLE =role_name
DEFAULT_WAREHOUSE = 'datawarehouse_name
'; grant rolerole_name
to usermin_privs
;
Dans l'exemple précédent, remplacez les espaces réservés comme suit :
-
Remplacez
avec le nom d'un rôle doté de privilèges de lecture seule.role_name
-
Remplacez
par le nom de la base de données source.db_name
-
Remplacez
par le nom du schéma source.schema_name
-
Remplacez
avec le nom d'un entrepôt de données requis.nom de l'entrepôt de données
-
Remplacez
par le nom d'un utilisateur disposant de privilèges minimaux.min_privs
Les DEFAULT_WAREHOUSE
paramètres DEFAULT_ROLE
et sont sensibles aux touches.
Configuration de l'accès sécurisé à Amazon S3
Les politiques de sécurité et de gestion des accès pour un compartiment Amazon S3 permettent à Snowflake d'accéder au compartiment S3, de lire des données et d'y écrire des données. Vous pouvez configurer un accès sécurisé à un compartiment Amazon S3 privé à l'aide du type d'STORAGE INTEGRATION
objet Snowflake. Un objet d'intégration de stockage Snowflake délègue la responsabilité de l'authentification à une entité de gestion des identités et des accès Snowflake.
Pour plus d'informations, consultez la section Configuration d'une intégration de stockage Snowflake pour accéder à Amazon S3
Connexion à Snowflake en tant que source
Suivez la procédure ci-dessous pour vous connecter à votre base de données source à l'aide du AWS Schema Conversion Tool.
Pour vous connecter à une base de données source Snowflake
-
Dans le AWS Schema Conversion Tool, choisissez Ajouter une source.
-
Choisissez Snowflake, puis Next.
La boîte de dialogue Ajouter une source apparaît.
-
Dans Nom de connexion, entrez le nom de votre base de données. AWS SCT affiche ce nom dans l'arborescence du panneau de gauche.
-
Utilisez les informations d'identification de la base de données AWS Secrets Manager ou saisissez-les manuellement :
-
Pour utiliser les informations d'identification de base de données issues de Secrets Manager, suivez les instructions suivantes :
-
Pour AWS Secret, choisissez le nom du secret.
-
Choisissez Populer pour renseigner automatiquement toutes les valeurs dans la boîte de dialogue de connexion à la base de données depuis Secrets Manager.
Pour plus d'informations sur l'utilisation des informations d'identification de base de données depuis Secrets Manager, consultezConfiguration AWS Secrets Manager dans le AWS Schema Conversion Tool.
-
-
Pour saisir manuellement les informations de connexion à l'entrepôt de données source Snowflake, suivez les instructions suivantes :
Paramètre Action Server name Entrez le nom du système de noms de domaine (DNS) ou l'adresse IP de votre serveur de base de données source.
Server port Indiquez le port utilisé pour vous connecter au serveur de la base de données source.
Database (Base de données) Entrez le nom de la base de données Snowflake.
User name et Password Entrez les informations d'identification de la base de données pour vous connecter à votre serveur de base de données source.
AWS SCT enregistre votre mot de passe dans un format crypté uniquement si vous le demandez explicitement.
Utiliser SSL Choisissez cette option si vous souhaitez utiliser Secure Sockets Layer (SSL) pour vous connecter à votre base de données. Fournissez les informations supplémentaires suivantes, le cas échéant, dans l'SSLonglet :
-
Chemin de clé privée : emplacement d'une clé privée.
-
Phrase secrète : phrase secrète de la clé privée.
Pour plus d'informations sur la SSL prise en charge de Snowflake, consultez Configurer les options de sécurité pour les connexions.
Enregistrer le mot de passe AWS SCT crée un coffre-fort sécurisé pour stocker les SSL certificats et les mots de passe de base de données. Si vous définissez cette option, vous pouvez enregistrer le mot de passe de la base de données. Cela signifie que vous pouvez vous connecter rapidement à la base de données sans avoir à saisir le mot de passe.
Trajectoire du pilote Snowflake Entrez le chemin d'accès au pilote à utiliser pour vous connecter à la base de données source. Pour de plus amples informations, veuillez consulter Installation de JDBC pilotes pour AWS Schema Conversion Tool.
Si vous stockez le chemin d'accès au pilote dans les paramètres globaux du projet, il ne s'affiche pas dans la boîte de dialogue de connexion. Pour de plus amples informations, veuillez consulter Stockage des chemins des pilotes dans les paramètres globaux.
-
-
-
Choisissez Tester la connexion pour vérifier que AWS SCT vous pouvez vous connecter à votre base de données source.
-
Choisissez Connect pour vous connecter à votre base de données source.
Limitations de Snowflake en tant que source
Les limites suivantes s'appliquent à l'utilisation de Snowflake comme source pour : AWS SCT
-
Les identificateurs d'objet doivent être uniques dans le contexte du type d'objet et de l'objet parent :
- Base de données
-
Les identificateurs de schéma doivent être uniques au sein d'une base de données.
- Schémas
-
Les identifiants d'objets tels que les tables et les vues doivent être uniques au sein d'un schéma.
- Tables/Vues
-
Les identificateurs de colonne doivent être uniques dans une table.
-
Le nombre maximal de tables pour les types de nœud de cluster large et xlarge est de 9 900. Pour les types de nœuds de cluster de 8 x large, le nombre maximum de tables est de 100 000. La limite inclut les tables temporaires, définies par l'utilisateur et créées par Amazon Redshift lors du traitement des requêtes ou de la maintenance du système. Pour plus d'informations, consultez la rubrique Quotas Amazon Redshift dans le Guide de la gestion du cluster Amazon Redshift.
-
Pour les procédures stockées, le nombre maximum d'arguments d'entrée et de sortie est de 32.
Types de données source pour Snowflake
Vous trouverez ci-dessous les types de données source Snowflake pris en charge lors de l'utilisation AWS SCT et le mappage par défaut vers une cible Amazon Redshift.
Types de données Snowflake | Types de données Amazon Redshift |
---|---|
NUMBER |
NUMERIC(38) |
NUMBER(p) |
Si p est =< 4, alors SMALLINT Si p est => 5 et =< 9, alors INTEGER Si p est => 10 et =< 18, alors BIGINT Si p est => 19 alors NUMERIC (p) |
NUMBER(p, 0) |
Si p est =< 4, alors SMALLINT Si p est => 5 et =< 9, alors INTEGER Si p est => 10 et =< 18, alors BIGINT Si p est => 19 alors : NUMERIC (p,0) |
NUMBER(p, s) |
Si p est => 1 et =< 38, et si s est => 1 et =< 37, alors NUMERIC(p, s) |
FLOAT |
FLOAT |
TEXT Caractères Unicode jusqu'à 16 777 216 octets ; jusqu'à 4 octets par caractère. |
VARCHAR(MAX) |
TEXT(p) Caractères Unicode jusqu'à 65 535 octets ; jusqu'à 4 octets par caractère. |
Si p est =< 65 535 alors, VARCHAR (p) |
TEXT(p) Caractères Unicode jusqu'à 16 777 216 octets ; jusqu'à 4 octets par caractère. |
Si p est => 65 535 et =< 16 777 216 alors, () VARCHAR MAX |
BINARY Caractères à un octet jusqu'à 8 388 608 octets ; 1 octet par caractère. |
VARCHAR(MAX) |
BINARY(p) Caractères à un octet jusqu'à 65 535 octets ; 1 octet par caractère. |
VARCHAR(p) |
BINARY(p) Caractères à un octet jusqu'à 8 388 608 octets ; 1 octet par caractère. |
VARCHAR(MAX) |
BOOLEAN |
BOOLEAN |
DATE |
DATE |
TIME Valeurs temporelles comprises entre 00:00:00 et 23:59:59.999 999999. |
VARCHAR(18) |
TIME(f) Valeurs temporelles comprises entre 00:00:00 et 23:59:59.9 (f). |
VARCHAR(n) — 9 + dt-attr-1 |
TIMESTAMP_NTZ |
TIMESTAMP |
TIMESTAMP_TZ |
TIMESTAMPTZ |
Paramètres de conversion de Snowflake vers Amazon Redshift
Pour modifier les paramètres de conversion de Snowflake vers Amazon Redshift, choisissez Paramètres AWS SCT dans, puis sélectionnez Paramètres de conversion. Dans la liste supérieure, choisissez Snowflake, puis Snowflake — Amazon Redshift. AWS SCT affiche tous les paramètres disponibles pour la conversion de Snowflake vers Amazon Redshift.
Les paramètres de conversion de Snowflake vers Amazon Redshift incluent des options pour AWS SCT les éléments suivants :
-
Pour limiter le nombre de commentaires contenant des actions dans le code converti.
Pour Ajouter des commentaires dans le code converti pour les actions de gravité sélectionnée ou supérieure, choisissez la sévérité des actions. AWS SCT ajoute des commentaires dans le code converti pour les actions dont la gravité est sélectionnée ou supérieure.
Par exemple, pour réduire au maximum le nombre de commentaires dans votre code converti, choisissez Erreurs uniquement. Pour inclure les commentaires pour tous les éléments d’action de votre code converti, choisissez Tous les messages.
-
Pour définir le nombre maximum de tables AWS SCT pouvant s'appliquer à votre cluster Amazon Redshift cible.
Pour le nombre maximum de tables pour le cluster Amazon Redshift cible, choisissez le nombre de tables qui AWS SCT peuvent s'appliquer à votre cluster Amazon Redshift.
Amazon Redshift dispose de quotas qui limitent l’utilisation des tables pour différents types de nœud de cluster. Si vous choisissez Auto, AWS SCT détermine le nombre de tables à appliquer à votre cluster Amazon Redshift cible en fonction du type de nœud. Vous pouvez éventuellement choisir la valeur manuellement. Pour plus d’informations, consultez Quotas et limites dans Amazon Redshift dans le Guide de gestion Amazon Redshift.
AWS SCT convertit toutes vos tables sources, même si c'est plus que ce que votre cluster Amazon Redshift peut stocker. AWS SCT stocke le code converti dans votre projet et ne l'applique pas à la base de données cible. Si vous atteignez le quota de cluster Amazon Redshift pour les tables lorsque vous appliquez le code converti, un message d'avertissement s' AWS SCT affiche. AWS SCT Applique également des tables à votre cluster Amazon Redshift cible jusqu'à ce que le nombre de tables atteigne la limite.
-
Pour appliquer une compression aux colonnes d'un tableau Amazon Redshift. Pour ce faire, sélectionnez Utiliser le codage par compression.
AWS SCT attribue automatiquement un codage de compression aux colonnes à l'aide de l'algorithme Amazon Redshift par défaut. Pour plus d'informations, consultez la section Encodages de compression dans le manuel Amazon Redshift Database Developer Guide.
Par défaut, Amazon Redshift n'applique pas de compression aux colonnes définies comme clés de tri et de distribution. Vous pouvez modifier ce comportement et appliquer une compression à ces colonnes. Pour ce faire, sélectionnez Utiliser le codage de compression pour les KEY colonnes. Vous ne pouvez sélectionner cette option que lorsque vous sélectionnez l'option Utiliser le codage par compression.
Paramètres d'optimisation de la conversion de Snowflake vers Amazon Redshift
Pour modifier les paramètres d'optimisation de conversion de Snowflake vers Amazon Redshift, choisissez Paramètres AWS SCT dans, puis sélectionnez Paramètres de conversion. Dans la liste supérieure, choisissez Snowflake, puis Snowflake — Amazon Redshift. Dans le volet de gauche, sélectionnez Stratégies d'optimisation. AWS SCT affiche les paramètres d'optimisation des conversions pour la conversion de Snowflake vers Amazon Redshift.
Les paramètres d'optimisation de la conversion de Snowflake vers Amazon Redshift incluent des options pour AWS SCT les éléments suivants :
-
Pour travailler avec l'optimisation automatique des tables. Pour ce faire, sélectionnez Utiliser le réglage automatique des tables Amazon Redshift.
L'optimisation automatique des tables est un processus d'autoréglage dans Amazon Redshift qui optimise automatiquement la conception des tables. Pour plus d'informations, consultez la section Utilisation de l'optimisation automatique des tables dans le manuel Amazon Redshift Database Developer Guide.
Pour vous fier uniquement à l'optimisation automatique des tables, choisissez Aucune pour la stratégie initiale de sélection des clés.
-
Pour choisir les clés de tri et de distribution selon votre stratégie.
Vous pouvez choisir des clés de tri et de distribution à l'aide des métadonnées Amazon Redshift, des informations statistiques ou des deux options. Pour Stratégie initiale de sélection des clés dans l'onglet Stratégies d'optimisation, choisissez l'une des options suivantes :
Utiliser des métadonnées, ignorer les informations statistiques
Ignorer les métadonnées, utiliser des informations statistiques
Utiliser des métadonnées et des informations statistiques
Selon l'option que vous choisissez, vous pouvez sélectionner des stratégies d'optimisation. Entrez ensuite la valeur (0 à 100) pour chaque stratégie. Ces valeurs définissent le poids de chaque stratégie. À l'aide de ces valeurs de pondération, AWS SCT définit l'influence de chaque règle sur le choix des clés de distribution et de tri. Les valeurs par défaut sont basées sur les meilleures pratiques de AWS migration.
Vous pouvez définir la taille des petites tables dans le cadre de la stratégie Find small tables. Pour Nombre minimum de lignes de tableau et Nombre maximum de lignes de tableau, entrez le nombre minimum et maximum de lignes dans un tableau pour le définir comme un petit tableau. AWS SCT applique le style
ALL
de distribution aux petites tables. Dans ce cas, une copie de la table complète est distribuée à chaque nœud. -
Pour configurer les détails de la stratégie.
Outre la définition du poids pour chaque stratégie d'optimisation, vous pouvez configurer les paramètres d'optimisation. Pour ce faire, choisissez Optimisation des conversions.
Pour le champ Limite des colonnes clés de tri, entrez le nombre maximum de colonnes dans la clé de tri.
Pour une valeur de seuil asymétrique, entrez le pourcentage (0 à 100) d'une valeur asymétrique pour une colonne. AWS SCT exclut les colonnes dont la valeur d'inclinaison est supérieure au seuil de la liste des candidats pour la clé de distribution. AWS SCT définit la valeur asymétrique d'une colonne comme le pourcentage entre le nombre d'occurrences de la valeur la plus courante et le nombre total d'enregistrements.
Pour les N principales requêtes de la table d'historique des requêtes, entrez le nombre (1 à 100) des requêtes les plus fréquemment utilisées à analyser.
Pour Sélectionner un utilisateur de statistiques, choisissez l'utilisateur de base de données pour lequel vous souhaitez analyser les statistiques de requête.
Dans l'onglet Stratégies d'optimisation, vous pouvez également définir la taille des petites tables pour la stratégie Rechercher de petites tables. Pour Nombre minimal de lignes de tableau et Nombre maximal de lignes de tableau, entrez le nombre minimum et maximum de lignes dans un tableau pour le considérer comme un petit tableau. AWS SCT applique le style
ALL
de distribution aux petites tables. Dans ce cas, une copie de la table complète est distribuée à chaque nœud.