Import - Amazon SageMaker

Import

Vous pouvez utiliser Amazon SageMaker Data Wrangler pour importer des données à partir des sources de données Amazon Simple Storage Service (Amazon  S3), Amazon Athena, Amazon Redshift et Snowflake.

Certaines sources de données vous permettent d'ajouter plusieurs connexions de données :

  • Vous pouvez vous connecter à plusieurs clusters Amazon Redshift. Chaque cluster devient une source de données.

  • Vous pouvez interroger n'importe quelle base de données Athena de votre compte pour importer des données à partir de cette base de données.

Lorsque vous importez un jeu de données à partir d'une source de données, il apparaît dans votre flux de données. Data Wrangler déduit automatiquement le type de données de chaque colonne de votre jeu de données. Pour modifier ces types, sélectionnez l'étape Data types (Types de données) et sélectionnez Edit data types (Modifier les types de données).

Lorsque vous importez des données depuis Athena ou Amazon Redshift, elles sont automatiquement stockées dans le compartiment SageMaker S3 par défaut pour la région AWS dans laquelle vous utilisez Studio. En outre, Athena stocke les données que vous prévisualisez dans Data Wrangler dans ce compartiment. Pour en savoir plus, consultez Stockage des données importées.

Important

Le compartiment Amazon S3 par défaut peut ne pas avoir les paramètres de sécurité les moins permissifs tels que la politique du compartiment et le chiffrement côté serveur (SSE). Nous vous recommandons vivement d'ajouter une politique de compartiment pour restreindre l'accès aux jeux de données importés dans Data Wrangler.

Important

En outre, si vous utilisez la politique gérée pour SageMaker, nous vous recommandons fortement de l'étendre à la politique la plus restreinte qui vous permet d'exécuter votre cas d'utilisation. Pour de plus amples informations, veuillez consulter Accorder à un rôle IAM l'autorisation d'utiliser Data Wrangler.

Importer des données depuis Amazon S3

Amazon Simple Storage Service (Amazon S3) peut être utilisé pour stocker et récupérer n'importe quelle quantité de données à tout moment, de n'importe où sur le web. Vous pouvez accomplir ces tâches en utilisant AWS Management Console, qui est une interface web simple et intuitive, et l'API Amazon S3. Si votre jeu de données est stocké localement, nous vous recommandons de l'ajouter à un compartiment S3 pour l'importer dans Data Wrangler. Pour savoir comment procéder, veuillez consulter la rubrique Chargement d'un objet dans un compartiment dans le Guide du développeur Amazon Simple Storage Service.

Data Wrangler utilise S3 Select pour vous permettre de prévisualiser vos fichiers Amazon S3 dans Data Wrangler. Vous engagez des frais standard pour chaque aperçu de fichier. Pour en savoir plus sur la tarification, veuillez consulter l'onglet Demandes et sorties de données de la Tarification Amazon S3.

Important

Si vous prévoyez d'exporter un flux de données et de lancer une tâche Data Wrangler, d'intégrer des données dans SageMaker Feature Store ou de créer un pipeline SageMaker, sachez que ces intégrations nécessitent que les données d'entrée Amazon S3 soient situées dans la même région AWS.

Vous pouvez parcourir tous les compartiments de votre compte AWS et importer des fichiers CSV et Parquet à l'aide de l'importation Amazon S3 dans Data Wrangler.

Lorsque vous choisissez un jeu de données à importer, vous pouvez le renommer, spécifier le type de fichier et identifier la première ligne comme en-tête.

Important

Si vous importez un fichier CSV, assurez-vous qu'il répond aux exigences suivantes :

  • Tout registre dans votre jeu de données ne peut pas dépasser une ligne.

  • La barre oblique inverse (\) est le seul caractère d'échappement valide.

  • Votre jeu de données doit utiliser l'un des délimiteurs suivants :

    • Virgule («  ») – ,

    • Deux-points («  ») – :

    • Point-virgule («  ») – ;

    • Pipe – |

    • Tab – [TAB]

Pour économiser de l'espace, vous pouvez importer des fichiers CSV compressés.

Pour importer un jeu de données dans Data Wrangler à partir d'Amazon S3 :

  1. Si vous n'êtes pas sur l'onglet Import (Importer), choisissez Import (Importer).

  2. Sous Data Preparation (Préparation des données), choisissez Amazon S3 pour voir la vue Import S3 Data Source (Importer la source de données S3).

  3. Dans la table des compartiments S3 disponibles, sélectionnez un compartiment et accédez au jeu de données que vous souhaitez importer.

  4. Sélectionnez le fichier que vous souhaitez importer. Vous pouvez importer des fichiers CSV et Parquet. Si votre jeu de données n'a pas d'extension .csv ou .parquet, sélectionnez le type de données dans la liste déroulante File Type (Type de fichier).

  5. Si votre fichier CSV comporte un en-tête, cochez la case en regard de Add header to table (Ajouter un en-tête à une table).

  6. Utilisez la table Preview (Aperçu) pour visualiser votre jeu de données. Cette table affiche jusqu'à 100 lignes.

  7. Dans le volet Details (Détails), vérifiez ou modifiez les paramètres Name (Nom) et File Type (Type de fichier) de votre jeu de données. Si vous ajoutez un Name (Nom) qui contient des espaces, ces derniers sont remplacés par des traits de soulignement lorsque votre jeu de données est importé.

  8. L'option Enable sampling (Activer l'échantillonnage) est sélectionnée par défaut. Si vous ne décochez pas cette case, Data Wrangler échantillonnera et importera jusqu'à 100 Mo de données. Pour désactiver l'échantillonnage, décochez cette case.

  9. Cliquez sur Import dataset (Importer le jeu de données).

Importer des données depuis Athena

Amazon Athena est un service de requête interactif qui facilite l'analyse des données dans Amazon S3 à l'aide du langage SQL standard. En quelques actions dans AWS Management Console, vous pouvez diriger Athena vers vos données stockées dans Amazon S3 et commencer à utiliser le SQL standard pour exécuter des requêtes ad hoc et obtenir des résultats en quelques secondes. Pour en savoir plus, veuillez consulter la rubrique Qu'est-ce que Amazon Athena ? dans le Guide de l'utilisateur Amazon Athena.

Vous pouvez interroger les bases de données Athena et importer les résultats dans Data Wrangler. Pour utiliser cette option d'importation, vous devez créer au moins une base de données dans Athena. Pour savoir comment procéder, veuillez consulter la rubrique Démarrez dans le Guide de l'utilisateur Amazon Athena.

Notez les informations suivantes sur l'option d'importation Athena dans Data Wrangler :

Data Wrangler utilise le compartiment Amazon S3 par défaut dans la même région AWS que celle dans laquelle se trouve votre instance Studio pour stocker les résultats de requête Athena. Il crée des tables temporaires dans cette base de données pour déplacer la sortie de la requête vers ce compartiment Amazon S3. Il supprime ces tables une fois les données importées, mais la base de données sagemaker_data_wrangler persiste. Pour en savoir plus, consultez Stockage des données importées.

Si vous utilisez AWS Lake Formation avec Athena, assurez-vous que vos autorisations IAM Lake Formation ne remplacent pas les autorisations IAM pour la base de données sagemaker_data_wrangler.

Pour importer un jeu de données dans Data Wrangler à partir d'Athena :

  1. Sur l'écran Import data (Importation des données), choisissez Amazon Athena.

  2. Pour Catalogue de données, choisissez un catalogue de données.

  3. Utilisez la liste déroulante Database (Base de données) pour sélectionner la base de données que vous souhaitez interroger. Lorsque vous sélectionnez une base de données, vous pouvez prévisualiser toutes les tables de votre base de données en utilisant les Tables listées sous Details (Détails).

  4. Choisissez Advanced configuration (Configuration avancée).

    L'option Enable sampling (Activer l'échantillonnage) est sélectionnée par défaut. Lorsque l'échantillonnage est activé, Data Wrangler échantillonne et importe environ 50 % des données interrogées. Décochez cette case pour désactiver l'échantillonnage.

  5. Spécifiez une valeur pour WorkGroup si vous utilisez un groupe de travail.

  6. Saisissez votre requête dans l'éditeur de requête et utilisez le bouton Run (Exécuter) pour l'exécuter. Après une requête réussie, vous pouvez prévisualiser votre résultat sous l'éditeur.

  7. Pour importer les résultats de votre requête, sélectionnez Import (Importer).

Une fois la procédure précédente terminée, le jeu de données que vous avez interrogé et importé apparaît dans le flux Data Wrangler.

Importer des données depuis Amazon Redshift

Amazon Redshift est un service d'entreposage de données entièrement géré dans le cloud. La première étape pour créer un entrepôt de données consiste à lancer un ensemble de nœuds, appelé cluster Amazon Redshift. Après avoir alloué votre cluster, vous pouvez charger votre jeu de données, puis effectuer des requêtes d'analyse de données.

Vous pouvez vous connecter à un ou plusieurs clusters Amazon Redshift et les interroger dans Data Wrangler. Pour utiliser cette option d'importation, vous devez créer au moins un cluster dans Amazon Redshift. Pour savoir comment procéder, veuillez consulter Mise en route avec Amazon Redshift.

Data Wrangler utilise le compartiment S3 par défaut dans la même région AWS que celle dans laquelle se trouve votre instance Studio pour stocker les résultats de requête Amazon Redshift. Pour en savoir plus, consultez Stockage des données importées.

Si vous utilisez la politique gérée IAM, AmazonSageMakerFullAccess, pour accorder à un rôle l'autorisation d'utiliser Data Wrangler dans Studio, votre nom d'utilisateur de base de données doit avoir le préfixe sagemaker_access.

Découvrez comment ajouter un nouveau cluster à l'aide des procédures suivantes.

Note

Data Wrangler utilise l'API de données Amazon Redshift avec des informations d'identification temporaires. Pour en savoir plus sur cette API, veuillez consulter la rubrique Utilisation de l'API de données Amazon Redshift Redshift dans le Guide de la gestion du cluster Amazon Redshift.

Pour vous connecter à un cluster Amazon Redshift :

  1. Choisissez Import (Importer).

  2. Choisissez + sous Add data connection (Ajouter une connexion de données).

  3. Choisissez Amazon Redshift.

  4. Choisissez Temporary credentials (IAM) (Informations d'identification temporaires (IAM)) pour Type.

  5. Saisissez un Connection Name (Nom de la connexion). Il s'agit d'un nom utilisé par Data Wrangler pour identifier cette connexion.

  6. Saisissez le Cluster Identifier (Identifiant du cluster) pour spécifier à quel cluster vous souhaitez vous connecter. Remarque : saisissez uniquement l'identifiant de cluster et non le point de terminaison complet du cluster Amazon Redshift.

  7. Saisissez le Database Name (Nom de la bas de données) de la bas de données à laquelle vous souhaitez vous connecter.

  8. Saisissez un Database User (Utilisateur de base de données) pour identifier l'utilisateur que vous souhaitez utiliser pour vous connecter à la base de données.

  9. Pour UNLOAD IAM Role (Rôle IAM de DÉCHARGEMENT), saisissez l'ARN de rôle IAM du rôle que le cluster Amazon Redshift doit assumer pour déplacer et écrire des données dans Amazon S3. Pour plus d'informations sur ce rôle, veuillez consulter la rubrique Autoriser Amazon Redshift à accéder à d'autres services AWS en votre nom dans le Guide de la gestion du cluster Amazon Redshift.

  10. Choisissez Connect (Connexion).

Une fois votre connexion établie avec succès, elle apparaît en tant que source de données sous Data Import (Importation de données). Sélectionnez cette source de données pour interroger votre base de données et importer des données.

Pour interroger et importer des données à partir de Redshift :

  1. Sélectionnez la connexion à partir de laquelle vous souhaitez effectuer une requête dans Data Source (Sources de données).

  2. Sélectionnez un Scheme (Schéma). Pour en savoir plus sur les schémas Redshift, veuillez consulter la rubrique Schémas dans le Guide du développeur de la base de données Amazon Redshift.

  3. Sous Advanced configuration (Configuration avancée), Enable sampling (Activer l'échantillonnage) est sélectionné par défaut. Si vous ne décochez pas cette case, Data Wrangler échantillonne et importe environ 50 % des données interrogées. Décochez cette case pour désactiver l'échantillonnage.

  4. Saisissez votre requête dans l'éditeur de requête et utilisez le bouton Run (Exécuter) pour l'exécuter. Après une requête réussie, vous pouvez prévisualiser votre résultat sous l'éditeur.

  5. Sélectionnez Import dataset (Importer un jeu de données) pour importer le jeu de données interrogé.

  6. Saisissez un Dataset name (Nom de jeu de données). Si vous ajoutez un Dataset name (Nom de jeu de données) qui contient des espaces, ces derniers sont remplacés par des traits de soulignement lorsque votre jeu de données est importé.

  7. Cliquez sur Add (Ajouter).

Importer des données depuis Snowflake

Vous pouvez utiliser Snowflake comme source de données dans SageMaker Data Wrangler dans le but de préparer des données dans Snowflake pour le machine learning.

Avec Snowflake comme source de données dans Data Wrangler, vous pouvez vous connecter rapidement et facilement à Snowflake sans écrire une seule ligne de code. En outre, vous pouvez joindre vos données dans Snowflake avec des données stockées dans Amazon S3 et des données interrogées via Amazon Athena et Amazon Redshift dans le but de préparer des données pour le machine learning.

Une fois connecté, vous pouvez interroger de manière interactive les données stockées dans Snowflake, transformer facilement les données avec plus de 300 transformations de données préconfigurées, comprendre les données et identifier les erreurs potentielles et les valeurs extrêmes grâce à un ensemble de modèles de visualisation préconfigurés robustes, et identifier rapidement les incohérences dans votre flux de préparation des données ainsi que diagnostiquer les problèmes avant que les modèles ne soient déployés en production. Enfin, vous pouvez exporter votre flux de travail de préparation des données vers Amazon S3 pour l'utiliser avec d'autres fonctions SageMaker telles que SageMaker Autopilot, Amazon Feature Store et SageMaker Pipelines.

Guide de l'administrateur

Important

Pour en savoir plus sur le contrôle d'accès détaillé et les bonnes pratiques, veuillez consulter la rubrique Contrôle d'accès de sécurité.

Cette section est destinée aux administrateurs de Snowflake qui configurent l'accès à Snowflake depuis SageMaker Data Wrangler.

Important

Votre administrateur est responsable de la gestion et de la surveillance du contrôle d'accès dans Snowflake. Cela inclut les données auxquelles un utilisateur peut accéder, l'intégration de stockage qu'il peut utiliser et les requêtes qu'il peut exécuter. Data Wrangler n'ajoute pas de couche de contrôle d'accès par rapport à Snowflake.

Important

Notez que l'octroi de privilèges de surveillance peut permettre aux utilisateurs de voir les détails d'un objet, comme par exemple les requêtes ou l'utilisation dans un entrepôt.

Configurer Snowflake avec Data Wrangler

Pour importer des données à partir de Snowflake, les administrateurs de Snowflake devront configurer l'accès depuis Data Wrangler via Amazon S3.

Cette fonction n'est actuellement pas disponible dans les régions d'adhésion.

Pour ce faire, suivez les étapes suivantes.

  1. Configurez les autorisations d'accès pour le compartiment S3.

    Exigences de contrôle d'accès AWS

    Snowflake a besoin des autorisations suivantes sur un compartiment et un répertoire S3 pour pouvoir accéder aux fichiers du répertoire.

    • s3:GetObject

    • s3:GetObjectVersion

    • s3:ListBucket

    Créez une politique IAM

    Ce qui suit décrit comment configurer les autorisations d'accès pour Snowflake dans votre console de gestion AWS afin que vous puissiez utiliser un compartiment Amazon S3 pour charger et décharger des données :

    • Connectez-vous à la console de gestion AWS.

    • Dans le tableau de bord d'accueil, choisissez Identity and Access Management (IAM) :

    • Dans le panneau de navigation de gauche, choisissez Policies (Politiques).

    • Choisissez Create policy (Créer une politique) :

    • Sélectionnez l'onglet JSON.

    • Ajoutez un document de politique qui permet à Snowflake d'accéder au compartiment et au répertoire S3.

      La politique suivante (au format JSON) fournit à Snowflake les autorisations nécessaires pour charger et décharger des données en utilisant un chemin d'accès unique au compartiment et au répertoire. Remarque : veillez à remplacer bucket et prefix par votre nom de compartiment et votre préfixe de chemin d'accès au répertoire.

      # Example policy for S3 write access # This needs to be updated { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:GetObjectVersion", "s3:DeleteObject", "s3:DeleteObjectVersion" ], "Resource": "arn:aws:s3:::bucket/prefix/*" }, { "Effect": "Allow", "Action": [ "s3:ListBucket" ], "Resource": "arn:aws:s3:::bucket/", "Condition": { "StringLike": { "s3:prefix": ["prefix/*"] } } } ] }
    • Cliquez sur le bouton Next: Tags (Suivant : Balises).

    • Cliquez sur le bouton Next: Review (Suivant : Aperçu).

      Saisissez le nom de la politique (par exemple, snowflake_access) et une description facultative. Choisissez Créer une politique.

  2. Créez le rôle IAM dans AWS.

  3. Créer une intégration de stockage dans le cloud dans Snowflake.

  4. Récupérez l'utilisateur IAM AWS pour votre compte Snowflake.

  5. Accordez à l'utilisateur IAM les autorisations d'accès au compartiment.

  6. Accordez à l'intégration de stockage l'autorisation d'utiliser le rôle Snowflake du scientifique des données.

    • Dans la console Snowflake, exécutez GRANT USAGE ON INTEGRATION integration_name TO snowflake_role;

      • integration_name est le nom de votre intégration de stockage.

      • snowflake_role est le nom du rôle Snowflake par défaut donné au scientifique des données.

Informations à fournir au scientifique des données

  1. Pour permettre à votre scientifique des données d'accéder à Snowflake à partir de SageMaker Data Wrangler, fournissez l'un des éléments suivants :

    • Un nom de compte Snowflake, un nom d'utilisateur et un mot de passe.

    • Créez un secret avec AWS Secrets Manager et fournissez l'ARN du secret. Utilisez la procédure ci-dessous pour créer le secret pour Snowflake si vous choisissez cette option.

      Important

      Si vos scientifiques des données utilisent l'option d'informations d'identification Snowflake (nom d'utilisateur et mot de passe) pour s'y connecter, notez que Secrets Manager permet de stocker les informations d'identification dans un secret et procède à une rotation des secrets dans le cadre d'un plan de sécurité des bonnes pratiques. Le secret créé dans Secrets Manager n'est accessible qu'avec le rôle Studio configuré lorsque vous paramétrez le profil utilisateur Studio. Cela vous demandera d'ajouter l'autorisation secretsmanager:PutResourcePolicy à la politique qui est jointe à votre rôle Studio.

      Il est fortement recommandé d'étendre la politique de rôle afin d'utiliser différents rôles pour différents groupes d'utilisateurs de Studio. Vous pouvez ajouter des autorisations supplémentaires basées sur les ressources pour les secrets de Secrets Manager. Veuillez consulter la rubrique Gestion de stratégie de secret pour connaître les clés de condition que vous pouvez utiliser.

      • Comment créer un secret Amazon Secret pour Snowflake.

        • Connectez-vous à la console AWS Secrets Manager.

        • Choisissez Store a new secret (Stocker un nouveau secret).

        • Dans la section Select secret type (Sélectionner un type de secret) choisissez Other type of secrets (Autre type de secrets).

        • Précisez les détails de votre secret personnalisé sous forme de paires de Key (Clé) et Value (Valeur). Le nom des clés est sensible à la casse. Ainsi, la clé username doit être username, la clé du mot de passe doit être password et la clé de l'ID du compte doit être accountid. Si vous saisissez l'un de ces éléments de manière incorrecte, Data Wrangler renvoie une erreur. Il n'est pas nécessaire d'ajouter des guillemets pour username, password, et accountid si vous utilisez une clé/valeur secrète. Vous pouvez également sélectionner l'onglet Plaintext (Texte brut) et saisir la valeur du secret dans JSON, comme illustré dans l'exemple suivant :

          { "username": "snowflake username", "password": "snowflake password", "accountid": "snowflake accountid" }
        • Cliquez sur Next (Suivant), et sur l'écran suivant, ajoutez le préfixe au nom de votre secret AmazonSageMaker-. De plus, ajoutez une balise avec la clé SageMaker (sans guillemets) et la valeur true (sans guillemets). Les autres champs sont facultatifs. Faites défiler la page vers le bas, puis cliquez sur Next (Suivant). Les autres écrans sont facultatifs. Cliquez sur Next (Suivant) jusqu'à ce que le secret ait été stocké.

        • Sélectionnez le nom du secret et enregistrez l'ARN du secret. Ensuite, cliquez sur le bouton final Store (Stocker).

        • Sélectionnez le secret que vous venez de créer.

        • Vous verrez votre ARN sur l'écran. Fournissez l'ARN au scientifique des données s'il utilise l'ARN pour se connecter à Snowflake.

  2. Vous devrez fournir au scientifique des données le nom de l'intégration de stockage que vous avez créée à l'étape 3 :Create a Cloud Storage Integration in Snowflake (Créer une intégration de stockage dans le cloud dans Snowflake). Il s'agit du nom de la nouvelle intégration, appelée integration_name dans la commande SQL CREATE INTEGRATION que vous avez exécutée et que vous pouvez voir ci-dessous :

    CREATE STORAGE INTEGRATION integration_name TYPE = EXTERNAL_STAGE STORAGE_PROVIDER = S3 ENABLED = TRUE STORAGE_AWS_ROLE_ARN = 'iam_role' [ STORAGE_AWS_OBJECT_ACL = 'bucket-owner-full-control' ] STORAGE_ALLOWED_LOCATIONS = ('s3://bucket/path/', 's3://bucket/path/') [ STORAGE_BLOCKED_LOCATIONS = ('s3://bucket/path/', 's3://bucket/path/') ]

Guide des scientifiques des données

Cette section explique comment accéder à votre entrepôt de données Snowflake depuis SageMaker Data Wrangler et comment utiliser les fonctions Data Wrangler.

Important

Remarque : votre administrateur doit suivre le Guide d'administration ci-dessus avant de pouvoir utiliser Data Wrangler dans Snowflake.

  1. Accéder à Data Wrangler

    Pour commencer, accédez à Data Wrangler via Amazon SageMaker Studio en suivant les étapes de la section Prérequis.

    Une fois que vous avez terminé les étapes de la section Prérequis, vous pouvez accéder à Data Wrangler dans Studio.

    • En regard de l'utilisateur que vous souhaitez utiliser pour lancer Studio, sélectionnez Open Studio (Ouvrir Studio).

    • Une fois que vous avez lancé Studio, sélectionnez File (Fichier), puis New (Nouveau) et enfin Terminal.

    • Saisissez cat /opt/conda/share/jupyter/lab/staging/yarn.lock | grep -A 1 "@amzn/sagemaker-ui-data-prep-plugin@" pour imprimer la version de votre instance Studio. Vous devez disposer de Studio version 1.3.0 pour activer Snowflake.

      • Si vous n'avez pas cette version, mettez à jour votre version Studio. Pour ce faire, fermez la fenêtre Studio et accédez à l'onglet SageMaker Studio Console (Console SageMaker Studio).

      • Ensuite, sélectionnez l'utilisateur que vous utilisez pour accéder à Studio, et cliquez sur Delete app (Supprimer une appli). Une fois la suppression terminée, relancez Studio en sélectionnant Open Studio (Ouvrir Studio).

      • Suivez à nouveau l'étape 3 ci-dessus pour vérifier que votre version de Studio est 1.3.0.

  2. Créer un flux de données à partir de Data Wrangler

    Une fois que vous avez accédé à Data Wrangler depuis Studio et que vous disposez de la version 1.3.0, cliquez sur le symbole + sur la fiche New data flow (Nouveau flux de données) sous ML tasks and components (Tâches et composants ML). Cela crée un répertoire dans Studio avec à l'intérieur un fichier .flow qui contient votre flux de données. Le fichier .flow s'ouvre automatiquement dans Studio.

    Sinon, vous pouvez également créer un flux en cliquant sur File (Fichier), puis New (Nouveau), et enfin Flow (Flux) dans la barre de navigation supérieure.

    Lorsque vous créez un fichier .flow dans Studio, vous pouvez voir le message suivant en haut de l'interface Data Wrangler :

    Connecting to engine (Connexion au moteur

    Establishing connection to engine... (Établissement d'une connexion au moteur...

  3. Connexion à Snowflake

    Il existe deux moyens de se connecter à Snowflake depuis Data Wrangler. Vous n'avez qu'à choisir entre les deux.

    1. Spécifiez vos informations d'identification Snowflake (nom du compte, nom d'utilisateur et mot de passe) dans Data Wrangler.

    2. Fournissez un Amazon Resource Name (ARN) d'un secret.

    Important

    Si vous n'avez pas vos identifiants de Snowflake ou ARN, veuillez contacter votre administrateur. Votre administrateur peut vous indiquer laquelle des deux méthodes précédentes utiliser pour vous connecter à Snowflake.

    Commencez par l'écran Import data (Importer des données) et sélectionnez d'abord Add data source (Ajouter une source de données) dans le menu déroulant en haut à droite, puis sélectionnez Snowflake. La capture d'écran suivante illustre où trouver l'option Snowflake.

Choisissez une méthode d'authentification. Pour cette étape, comme mentionné précédemment, vous pouvez utiliser vos informations d'identification Snowflake ou votre nom ARN. L'un des deux sera fourni par votre administrateur.

Ensuite, nous expliquons les deux méthodes d'authentification et fournissons des captures d'écran pour chacune.

  1. Option d'identification Snowflake.

    Sélectionnez l'option Basic - User Name Password (Basique - Nom d'utilisateur et mot de passe) dans la liste déroulante Authentication method (Méthode d'authentification). Ensuite, saisissez vos informations d'identification dans les champs suivants :

    • Storage integration (Intégration de stockage) : indiquez le nom de l'intégration du stockage. Il est fourni par votre administrateur.

    • Snowflake account name (Nom du compte Snowflake) : le nom complet de votre compte Snowflake.

    • User name (Nom d'utilisateur) : nom d'utilisateur du compte Snowflake.

    • Password (Mot de passe) : mot de passe du compte Snowflake.

    • Connection name (Nom de la connexion) : choisissez un nom de connexion de votre choix.

    Cliquez sur Connect (Connexion).

    Vous trouverez ci-dessous une capture d'écran de cet écran et un exemple de remplissages de ces champs.

  2. Option ARN

    Sélectionnez l'option ARN dans la liste déroulante Authentication method (Méthode d'authentification). Ensuite, indiquez votre nom ARN sous Secrets Manager ARN et votre intégration de stockage fournie par votre administrateur. Enfin, créez un nom de connexion et cliquez sur Connect (Connexion).

    Voici une capture d'écran de cet écran.

  3. À ce stade, le flux de travail consiste à connecter votre compte Snowflake à Data Wrangler, puis à exécuter des requêtes sur vos données et enfin à utiliser Data Wrangler pour effectuer des transformations de données, etc.

    Les étapes suivantes montrent comment importer et interroger depuis Data Wrangler.

    Après avoir créé votre connexion Snowflake, vous accédez à l'écran Import data from Snowflake (Importer des données depuis Snowflake). En voici une capture d'écran.

    À partir de là, sélectionnez votre entrepôt. En option, vous pouvez également sélectionner votre base de données et votre schéma, auquel cas la requête écrite doit les spécifier. Si Database (Base de données) et Schema (Schéma) sont fournis dans la liste déroulante, la requête écrite n'a pas besoin de spécifier les noms de base de données et de schéma.

    Les schémas et tables de votre compte Snowflake sont répertoriés dans le volet de gauche. Vous pouvez sélectionner et démêler ces entités. Lorsque vous sélectionnez une table spécifique, sélectionnez l'icône en forme d'œil à droite du nom de chaque table pour la prévisualiser.

    La capture d'écran suivante montre le volet avec vos entrepôts de données, bases de données et schémas, ainsi que l'icône d'œil avec laquelle vous pouvez prévisualiser votre table. Une fois que vous avez sélectionné l'icône Preview Table (Aperçu de la table), l'aperçu du schéma de cette table est généré. Vous devez sélectionner un entrepôt avant de pouvoir prévisualiser une table.

    Après avoir sélectionné un entrepôt de données, une base de données et un schéma, vous pouvez écrire des requêtes et les exécuter en cliquant sur « run them » (les exécuter). La sortie de votre requête s'affichera sous « Query results » (Résultats de la requête). En voici une capture d'écran.

    Une fois que vous avez réglé la sortie de votre requête, vous pouvez l'importer dans un flux Data Wrangler pour effectuer des transformations de données.

    Pour ce faire, cliquez sur Import (Importer), puis spécifiez un nom et cliquez sur OK, comme illustré dans la capture d'écran suivante.

    À partir de là, passez à l'écran Data flow (Flux de données) pour préparer votre transformation de données, comme illustré dans la capture d'écran suivante.

Connectivité privée entre Data Wrangler et Snowflake via AWS PrivateLink

Cette section explique comment utiliser AWS PrivateLink pour établir une connexion privée entre Data Wrangler et Snowflake. Les étapes sont expliquées ci-dessous.

Créer un VPC

Si vous n'avez pas de VPC configuré, suivez les instructions Create a new VPC (Créer un VPC) pour en créer un.

Une fois que vous avez choisi le VPC que vous souhaitez utiliser pour établir une connexion privée, fournissez les informations d'identification suivantes à votre administrateur Snowflake pour activer   AWS PrivateLink:

  • l'ID du VPC ;

  • AWSl'ID du compte  ;

  • l'URL de votre compte correspondant à celui que vous utilisez pour accéder à Snowflake.

Important

Selon la documentation de Snowflake, l'activation de votre compte Snowflake peut prendre jusqu'à deux jours ouvrables.

Une fois que AWS PrivateLink est activé, récupérez la configuration AWS PrivateLink pour votre région en exécutant la commande suivante dans une feuille de calcul Snowflake. Connectez-vous à votre console Snowflakes, et sous les feuilles de calcul, saisissez les éléments suivants : select SYSTEM$GET_PRIVATELINK_CONFIG();

  1. Récupérez les valeurs pour les éléments suivants : privatelink-account-name, privatelink_ocsp-url, privatelink-account-url et privatelink_ocsp-url de l'objet JSON résultant. Des exemples de chaque valeur sont présentés ci-dessous. Conservez-les en vue d'une utilisation ultérieure.

    privatelink-account-name: xxxxxxxx.region.privatelink privatelink-vpce-id: com.amazonaws.vpce.region.vpce-svc-xxxxxxxxxxxxxxxxx privatelink-account-url: xxxxxxxx.region.privatelink.snowflakecomputing.com privatelink_ocsp-url: ocsp.xxxxxxxx.region.privatelink.snowflakecomputing.com
  2. Passez à votre console AWS et accédez au menu VPC.

  3. Dans le volet latéral gauche, cliquez sur le lien « Endpoints » pour accéder aux points de terminaison VPC configurés.

    Une fois là, cliquez sur le bouton Create Endpoint (Créer un point de terminaison) en haut à gauche.

  4. Sélectionnez le bouton radio « Find service by name (Rechercher le service par nom) ».

  5. Dans le champ Service Name (Nom du service), collez la valeur pour privatelink-vpce-id que vous avez récupéré à l'étape ci-dessus et cliquez sur le bouton Verify (Vérifier).

    En cas de succès, une alerte verte avec « Service name found (Nom du service trouvé) » apparaîtra à l'écran et les options VPC et Subnet (Sous-réseau) seront automatiquement développées. Vous trouverez ci-dessous une capture d'écran illustrant cette situation. Remarque : selon la région ciblée, l'écran résultant peut afficher un autre nom de région AWS.

  6. Sélectionnez le même ID de VPC que celui que vous avez envoyé à Snowflake dans le menu déroulant VPC.

  7. Si vous n'avez pas encore créé de sous-réseau, suivez les instructions suivantes sur la façon de procéder.

  8. Sélectionnez les sous-réseaux dans le menu déroulant VPC. Sélectionnez ensuite Create subnet (Créer un sous-réseau) et suivez les instructions pour créer un sous-ensemble dans votre VPC. Assurez-vous de sélectionner l'ID du VPC que vous avez envoyé à Snowflake.

  9. Faites défiler jusqu'à Security Group Configuration (Configuration du groupe de sécurité), cliquez sur Create New Security Group (Créer un groupe de sécurité). L'écran Security Group (Groupe de sécurité) par défaut s'ouvre alors dans un nouvel onglet. Dans ce nouvel onglet, cliquez sur le bouton Create Security Group (Créer un groupe de sécurité) dans le coin supérieur droit.

  10. Donnez un nom (par exemple : datawrangler-doc-snowflake-privatelink-connection) et une description au nouveau groupe de sécurité. Assurez-vous de sélectionner l'ID de VPC que vous avez utilisé lors des étapes précédentes.

  11. Vous devrez maintenant ajouter deux règles pour autoriser le trafic depuis votre VPC vers ce point de terminaison VPC.

    Accédez à votre VPC sous Your VPCs (Vos VPC) dans un onglet séparé, et récupérez le bloc d'adresse CIDR de votre VPC. Cliquez ensuite sur le bouton Add Rule (Ajouter une règle) dans la section Inbound Rules (Règles entrantes), sélectionnez HTTPS pour le type, laissez Custom (Personnalisée) pour Source dans le formulaire, collez la valeur récupérée de l'appel describe-vpcs ci-dessus (par exemple, 10.0.0.0/16).

  12. Cliquez sur le bouton Create Security Group (Créer un groupe de sécurité) en bas à droite. Récupérez l'ID du groupe de sécurité que vous venez de créer (par exemple, ).., sg-xxxxxxxxxxxxxxxxx).

  13. Dans l'écran de configuration du point de terminaison VPC, supprimez le groupe de sécurité par défaut. Collez l'ID du groupe de sécurité dans le champ de recherche et cochez la case.

  14. Faites défiler jusqu'au bas de la page et cliquez sur le bouton Create Endpoint (Créer un point de terminaison).

  15. Si tout se passe comme prévu, vous accédez à la page qui contient un lien vers la configuration de votre point de terminaison VPC, spécifiée par l'ID du VPC. Cliquez sur le lien pour afficher la configuration dans son intégralité.

    Récupérez l'enregistrement le plus haut dans la liste des noms DNS. On peut le différencier des autres noms DNS car il comprend uniquement le nom de la région (par exemple, us-west-2), et pas de lettre pour la zone de disponibilité (par exemple, us-west-2a). Conservez-le en vue d'une utilisation ultérieure.

Cette section explique comment configurer le DNS pour les points de terminaison Snowflake dans votre VPC. Cela permettra à votre VPC de résoudre les requêtes vers le point de terminaison Snowflake AWS PrivateLink.

  1. Accédez au menu Route 53 dans votre console AWS.

  2. Dans le menu de gauche (il peut être nécessaire de le développer), sélectionnez l'option Hosted Zones (Zones hébergées).

  3. Cliquez sur le bouton Create Hosted Zone (Créer une zone hébergée) dans le coin supérieur droit.

    • Dans le champ de formulaire de nom de domaine, référencez la valeur qui avait été stockée pour privatelink-account-url dans les étapes ci-dessus. Dans ce champ, votre ID de compte Snowflake sera supprimé du nom du DNS et utilisera uniquement la valeur commençant par l'identificateur de région. Un Resource Record Set (Jeu d'enregistrements de ressources) sera également créé ultérieurement pour le sous-domaine. P. ex., region.privatelink.snowflakecomputing.com.

    • Sélectionnez le bouton radio pour Private Hosted Zone (Zone hébergée privée) dans la Type Section (section Type). Votre code de région peut ne pas être us-west-2. Faites référence au nom DNS qui vous a été renvoyé par Snowflake.

    • Dans la section VPC à associer à la zone hébergée, sélectionnez la région dans laquelle se trouve votre VPC et l'ID du VPC utilisé lors des étapes précédentes.

    • Cliquez sur le bouton Created hosted zone (Zone hébergée créée) en bas à droite.

  4. Nous allons maintenant créer deux enregistrements : un pour privatelink-account-url et un pour privatelink_ocsp-url.

    • Dans le menu Hosted Zone (Zone hébergée), cliquez sur le bouton Create Record Set (Créer un jeu d'enregistrements).

      1. Pour le nom de l'enregistrement, saisissez votre ID de compte Snowflake uniquement (les 8 premiers caractères dans privatelink-account-url).

      2. Pour record type (type d'enregistrement), sélectionnez CNAME.

      3. Pour la valeur, saisissez le nom DNS du point de terminaison VPC régional que vous avez récupéré à la dernière étape de la section Configurer l'intégration Snowflake AWS PrivateLink.

      4. Cliquez sur le bouton Create Record (Créer un enregistrement).

      5. Répétez les étapes ci-dessus pour l'enregistrement OCSP que nous avons noté comme privatelink-ocsp-url plus tôt, en commençant par « ocsp » jusqu'à l'ID Snowflake à 8 caractères pour le nom de l'enregistrement (par exemple, ocsp.xxxxxxxx).

Cette section explique comment configurer les points de terminaison entrants des résolveurs Route 53 pour votre VPC.

  1. Accédez au menu Route 53 dans votre console AWS.

    • Dans le volet de gauche de la section Security (Sécurité), sélectionnez l'option Security Groups (Groupes de sécurité).

  2. Cliquez sur le bouton Create Security Group (Créer un groupe de sécurité) dans le coin supérieur droit.

    • Donnez un nom à votre groupe de sécurité (par exemple : datawranger-doc-route53-resolver-sg) et une description.

    • Sélectionnez l'ID de VPC utilisé lors des étapes précédentes.

    • Créez des règles qui autorisent le DNS sur UDP et TCP à partir du bloc d'adresse CIDR VPC.

    • Cliquez sur le bouton Create Security Group (Créer un groupe de sécurité). Notez l'ID du groupe de sécurité, car il va maintenant ajouter une règle pour autoriser le trafic vers le groupe de sécurité VPC Endpoint Security.

  3. Accédez au menu Route 53 dans votre console AWS.

    • Dans le volet de gauche de la section Resolver (Résolveur), sélectionnez l'option Inbound Endpoint (Point de terminaison entrant).

  4. Cliquez sur le bouton Create Inbound Endpoint (Créer un point de terminaison entrant).

    • Donnez un nom à un point de terminaison.

    • Dans la liste déroulante VPC dans la région, sélectionnez l'ID de VPC que vous avez utilisé dans toutes les étapes précédentes.

    • Dans la liste déroulante Security Group (Groupe de sécurité), sélectionnez l'ID du groupe de sécurité de l'étape 2 de cette section.

    • Dans la section IP Addresses (Adresses IP), sélectionnez deux zones de disponibilité, sous-réseaux et laissez le bouton radio pour Use an IP address that is selected automatically (Utiliser une adresse IP sélectionnée automatiquement) sélectionné.

    • Cliquez sur le bouton Submit (Envoyer).

  5. Sélectionnez le point de terminaison entrant après sa création.

  6. Une fois le point de terminaison entrant créé, notez les deux adresses IP des résolveurs.

Points de terminaison VPC SageMaker

Cette section explique comment créer des points de terminaison VPC pour les éléments suivants :SageMaker Studio, SageMaker Notebook, API SageMaker, SageMaker Runtime, SageMaker FeatureStore Runtime.

Créez un groupe de sécurité qui sera appliqué à tous les points de terminaison.

  1. Accédez au menu EC2 dans la Console AWS.

  2. Dans le volet de gauche, sélectionnez l'option Security Groups (Groupes de sécurité), dans la section Network & Security (Réseau et sécurité).

  3. Cliquez sur le bouton Create Security Group (Créer un groupe de sécurité) dans le coin supérieur droit.

  4. Fournissez un nom et une description pour le groupe de sécurité (par exemple, ).., datawrangler-doc-sagemaker-vpce-sg). Notez qu'une règle sera ajoutée pour autoriser le trafic via HTTPS depuis SageMaker vers ce groupe ultérieurement.

Création des points de terminaison.

  1. Accédez au menu VPC dans la console AWS.

  2. Sélectionnez l'option Endpoints (Points de terminaison) dans le volet de gauche.

  3. Cliquez sur le bouton Create Endpoint (Créer un point de terminaison).

  4. Recherchez le service via la barre de recherche (par exemple, saisissez « sagemaker » dans la barre de recherche).

  5. Dans la liste déroulante VPC, sélectionnez le VPC dans lequel votre connexion Snowflake AWS PrivateLink existe.

  6. Dans la section Subnets (Sous-réseaux), sélectionnez les sous-réseaux qui ont accès à la connexion Snowflake PrivateLink.

  7. Laissez la case Enable DNS Name (Activer le nom DNS) cochée.

  8. Dans la section Security Groups (Groupes de sécurité), sélectionnez le groupe de sécurité créé dans la section ci-dessus.

  9. Cliquez sur le bouton Create Endpoint (Créer un point de terminaison).

Configurer SageMaker Studio et SageMaker Data Wrangler

Cette section explique comment configurer SageMaker Studio et SageMaker Data Wrangler.

  1. Configurer le groupe de sécurité

    • Accédez au menu EC2 dans la console AWS.

    • Dans le volet de gauche, sélectionnez l'option Security Groups (Groupes de sécurité), dans la section Network & Security (Réseau et sécurité).

    • Cliquez sur le bouton Create Security Group (Créer un groupe de sécurité) dans le coin supérieur droit.

    • Fournissez un nom et une description pour le groupe de sécurité (par exemple, ).., datawrangler-doc-sagemaker-studio).

    • Créez les règles entrantes suivantes.

      • HTTPS au groupe de sécurité que vous avez configuré pour la connexion Snowflake PrivateLink.

        • Comme créé dans l'étape Configurer l'intégration Snowflake PrivateLink.

      • HTTP au groupe de sécurité que vous avez configuré pour la connexion Snowflake PrivateLink.

        • Comme créé dans l'étape Configurer l'intégration Snowflake PrivateLink.

      • UDP et TCP pour DNS (port 53) vers le groupe de sécurité de point de terminaison entrant du résolveur Route 53.

        • Comme créé à l'étape 2 de Configurer le point de terminaison entrant du résolveur Route 53 pour votre VPC.

    • Cliquez sur le bouton Create Security Group (Créer un groupe de sécurité) dans le coin supérieur droit.

  2. Configurer SageMaker Studio

    • Accédez au menu SageMaker dans la console AWS.

    • Dans le volet de gauche, sélectionnez l'option SageMaker Studio.

    • Si aucun domaine n'est configuré, le menu Get Started (Démarrer) apparaît.

    • Sélectionnez l'option Standard Setup (Configuration standard) dans le menu Get Started (Démarrer).

    • Pour Authentication method (Méthode d'authentification), choisissez AWS Identity and Access Management (IAM).

    • Sous le menu Permissions (Autorisations), vous pouvez créer un rôle ou utiliser un rôle préexistant, selon votre cas d'utilisation.

      • Si vous avez choisi Create a new role (Créer un rôle), vous avez la possibilité de fournir un nom de compartiment S3, et une politique est générée pour vous.

      • Si vous disposez déjà d'un rôle créé avec des autorisations sur les compartiments S3 auxquels vous devez accéder, sélectionnez-le dans la liste déroulante. Ce rôle doit être associé à la politique AmazonSageMakerFullAccess.

    • Sélectionnez la liste déroulante Network and Storage (Réseau et stockage) pour configurer le VPC, la sécurité et les sous-réseaux que SageMaker utilisera.

      • Pour VPC, sélectionnez le VPC dans lequel votre connexion PrivateLink Snowflake existe.

      • Pour Subnet(s) (Sous-réseau(x)), sélectionnez les sous-réseaux qui ont accès à la connexion Snowflake PrivateLink.

      • Pour Network Access for Studio (Accès réseau pour Studio), sélectionnez VPC Only (VPC uniquement).

      • Pour Security Group(s) (Groupe(s) de sécurité), sélectionnez le groupe de sécurité créé précédemment dans l'étape 1.

    • Cliquez sur le bouton Submit (Envoyer) dans le coin inférieur droit.

  3. Modifiez le groupe de sécurité SageMaker.

    • Créez les règles entrantes suivantes :

      • Port 2049 vers les groupes de sécurité NFS entrants et sortants créés automatiquement par SageMaker à l'étape 2 (les noms des groupes de sécurité contiendront l'ID de domaine Studio).

      • Accès à tous les ports TCP vers eux-mêmes (requis pour SageMaker pour VPC uniquement).

  4. Modifiez les groupes de sécurité des points de terminaison VPC :

    • Accédez au menu EC2 dans la console AWS.

    • Recherchez le groupe de sécurité que vous avez créé précédemment.

    • Ajoutez une règle de trafic entrant autorisant le trafic HTTPS à partir du groupe de sécurité créé à l'étape 1.

  5. Créez un profil utilisateur.

    • Depuis le SageMaker Studio Control Panel (Panneau de configuration SageMaker Studio), cliquez sur le bouton Add User (Ajouter un utilisateur) en haut à droite.

    • Indiquez un nom d'utilisateur.

    • Pour Execution role (Rôle d'exécution), choisissez de créer un rôle ou d'en utiliser un existant.

      • Si vous avez choisi Create a new role (Créer un rôle), vous avez la possibilité de fournir un nom de compartiment Amazon S3, et une politique est générée pour vous.

      • Si vous disposez déjà d'un rôle créé avec des autorisations sur les compartiments Amazon S3 auxquels vous devez accéder, sélectionnez le rôle dans la liste déroulante. Ce rôle doit être associé à la politique AmazonSageMakerFullAccess.

    • Cliquez sur le bouton Submit (Envoyer).

  6. Créez un flux de données (suivez le Guide des scientifiques des données ci-dessus).

    • Lorsque vous ajoutez une connexion Snowflake, saisissez la valeur de privatelink-account-name (de l'étape Configurer l'intégration Snowflake PrivateLink) dans le champ de nom du compte Snowflake (alphanumérique), au lieu du nom du compte Snowflake ordinaire. Tout le reste est laissé inchangé.

Stockage des données importées

Important

Nous vous recommandons vivement de suivre les bonnes pratiques en matière de protection de votre compartiment Amazon S3 en suivant les bonnes pratiques de sécurité.

Lorsque vous interrogez des données depuis Amazon Athena ou Amazon Redshift, le jeu de données interrogé est automatiquement stocké dans Amazon S3. Les données sont stockées dans le compartiment SageMaker S3 par défaut pour la région AWS dans laquelle vous utilisez Studio.

Les compartiments S3 par défaut ont la convention de dénomination suivante : sagemaker-région-numéro de compte. Par exemple, si votre numéro de compte est 111122223333 et que vous utilisez Studio dans us-east-1, vos jeux de données importés sont stockés dans sagemaker-us-east-1-111122223333.

Les flux Data Wrangler dépendent de cet emplacement de jeu de données Amazon S3, vous ne devez donc pas modifier ce jeu de données dans Amazon S3 lorsque vous utilisez un flux dépendant. Si vous modifiez cet emplacement S3 et que vous souhaitez continuer à utiliser votre flux de données, vous devez supprimer tous les objets dans trained_parameters dans votre fichier .flow. Pour ce faire, téléchargez le fichier .flow depuis Studio et supprimez toutes les entrées pour chaque instance de trained_parameters. Lorsque vous avez terminé, trained_parameters doit être un objet JSON vide :

"trained_parameters": {}

Lorsque vous exportez et utilisez votre flux de données pour traiter vos données, le fichier .flow que vous exportez fait référence à ce jeu de données dans Amazon S3. Consultez les sections suivantes pour en apprendre plus.

Stockage d'importation Amazon Redshift

Data Wrangler stocke les jeux de données résultant de votre requête dans un fichier Parquet dans votre compartiment SageMaker S3 par défaut.

Ce fichier est stocké sous le préfixe suivant (répertoire) : redshift/uuid/data/, où uuid est un identifiant unique qui est créé pour chaque requête.

Par exemple, si votre compartiment par défaut est sagemaker-us-east-1-111122223333, un seul jeu de données interrogé auprès d'Amazon Redshift se trouve dans s3://sagemaker-us-east-1-111122223333/redshift/uuid/data/.

Stockage d'importation Amazon Athena

Lorsque vous interrogez une base de données Athena et importez un jeu de données, Data Wrangler stocke le jeu de données, ainsi qu'un sous-ensemble de ce jeu de données, ou preview files (aperçu des fichiers), dans Amazon S3.

Le jeu de données que vous importez en sélectionnant Import dataset (Importer un jeu de données) est stocké au format Parquet dans Amazon S3.

Les fichiers d'aperçu sont écrits au format CSV lorsque vous cliquez sur Run (Exécuter) sur l'écran d'importation Athena et contiennent jusqu'à 100 lignes de votre jeu de données interrogé.

Le jeu de données que vous interrogez se trouve sous le préfixe (répertoire) : athena/uuid/data/, où uuid est un identifiant unique qui est créé pour chaque requête.

Par exemple, si votre compartiment par défaut est sagemaker-us-east-1-111122223333, un seul jeu de données interrogé à partir d'Athena se trouve dans s3://sagemaker-us-east-1-111122223333/redshift/uuid/data/example_dataset.parquet.

Le sous-ensemble du jeu de données stocké pour prévisualiser les fichiers de données dans Data Wrangler est stocké sous le préfixe athena/.