Importer - Amazon SageMaker

Importer

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. Le jeu de données que vous importez peut contenir jusqu'à 1 000 colonnes.

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 de 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 stratégie gérée pour SageMaker, nous vous recommandons fortement de l'étendre à la stratégie la plus restrictive qui vous permet d'exécuter votre cas d'utilisation. Pour plus d'informations, consultez Accorder à un rôle IAM l'autorisation d'utiliser Data Wrangler.

Importer des données depuis Amazon S3

Vous pouvez utiliser Amazon Simple Storage Service (Amazon S3) 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 vous avez stocké votre jeu de données 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.

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 – ;

    • Barre verticale – |

    • Tab – [TAB]

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

Data Wrangler vous permet d'importer l'intégralité du jeu de données ou d'en échantillonner une partie. Il fournit les options d'échantillonnage suivantes :

  • None (Aucun) : importez l'intégralité du jeu de données.

  • First K (K premières lignes) : échantillonnez les K premières lignes du jeu de données, où K est un entier que vous spécifiez.

  • Randomized (Aléatoire) : prélève un échantillon aléatoire d'une taille que vous spécifiez.

Une fois que vous avez importé vos données, vous pouvez également utiliser le transformateur d'échantillonnage pour prélever un ou plusieurs échantillons de votre jeu de données. Pour plus d'informations sur le transformateur d'échantillonnage, consultez Echantillonnage.

Vous pouvez importer un seul fichier ou plusieurs fichiers en tant que jeu de données. Vous pouvez utiliser l'opération d'importation de plusieurs fichiers lorsque vous disposez d'un jeu de données partitionné dans des fichiers distincts. Elle prend tous les fichiers d'un répertoire Amazon S3 et les importe en tant que jeu de données unique. Pour plus d'informations sur les types de fichiers que vous pouvez importer et sur la façon de les importer, reportez-vous aux sections suivantes.

Single File Import

Vous pouvez importer des fichiers uniques dans les formats suivants :

  • Valeurs séparées par des virgules (CSV)

  • Parquet

  • JavaScript Object Notation (JSON)

  • Optimized Row Columnar (ORC)

Pour les fichiers au format JSON, Data Wrangler prend en charge les lignes JSON (.jsonl) et les documents JSON (.json). Lorsque vous prévisualisez vos données, le fichier JSON est automatiquement affiché sous forme de tableau. Pour les documents JSON imbriqués de plus de 5 Mo, Data Wrangler affiche le schéma de la structure et les tableaux sous forme de valeurs dans le jeu de données. Utilisez les opérateurs Flatten structured (Aplatir structuré) et Explode array (Éclater le tableau) pour afficher les valeurs imbriquées sous forme de tableau. Pour plus d'informations, consultez Annulation de l'imbrication des données JSON et Éclatement du tableau.

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

Vous pouvez importer un jeu de données que vous avez partitionné en plusieurs fichiers dans un compartiment Amazon S3 en une seule étape d'importation.

Pour importer un jeu de données dans Data Wrangler à partir d'un fichier unique que vous avez stocké dans 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. 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. Spécifiez la configuration d'échantillonnage que vous souhaitez utiliser.

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

Multifile Import

Les exigences suivantes sont requises pour importer plusieurs fichiers :

  • Les fichiers doivent se trouver dans la même dossier de votre compartiment Amazon S3.

  • Les fichiers doivent soit partager le même en-tête, soit ne pas avoir d'en-tête.

Chaque fichier doit être dans l'un des formats suivants :

  • CSV

  • Parquet

  • Optimized Row Columnar (ORC)

  • JSON

Utilisez la procédure suivante pour importer plusieurs fichiers.

Pour importer un jeu de données dans Data Wrangler à partir de plusieurs fichiers que vous avez stockés dans un répertoire 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 le tableau des compartiments S3 disponibles, sélectionnez le compartiment contenant le dossier que vous souhaitez importer.

  4. Sélectionnez le dossier contenant les fichiers que vous souhaitez importer. Chaque fichier doit être dans l'un des formats pris en charge. Vos fichiers doivent être du même type de données.

  5. Si votre dossier contient des fichiers CSV avec des en-têtes, cochez la case à côté de First row is header (La première ligne est l'en-tête).

  6. Si vos fichiers sont imbriqués dans d'autres dossiers, cochez la case à côté de Include nested directories (Inclure des répertoires imbriqués).

  7. (Facultatif) Vous pouvez également sélectionner Add filename column (Ajouter une colonne de nom de fichier) pour ajouter une colonne au jeu de données qui affiche le nom de fichier de chaque observation.

  8. (Facultatif) Par défaut, Data Wrangler ne vous affiche pas d'aperçu d'un dossier. Vous pouvez activer l'aperçu en sélectionnant le bouton bleu Aperçu désactivé. Un aperçu affiche les 10 premières lignes des 10 premiers fichiers du dossier. Les images suivantes montrent comment activer un aperçu pour un jeu de données créé à partir de répertoires imbriqués.

  9. 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é.

  10. Spécifiez la configuration d'échantillonnage que vous souhaitez utiliser.

  11. 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.

Data Wrangler prend en charge l'utilisation de groupes de travail Athena pour gérer les résultats de requête dans un compte AWS. Vous pouvez spécifier un emplacement de sortie Amazon S3 pour chaque groupe de travail. Vous pouvez également spécifier si la sortie de la requête peut être envoyée à différents emplacements Amazon S3. Pour plus d'informations, veuillez consulter Utilisation des groupes de travail pour contrôler l'accès aux requêtes et les coûts.

Pour utiliser les groupes de travail Athena, configurez la politique IAM qui donne accès aux groupes de travail. Si vous utilisez un SageMaker-Execution-Role, nous vous recommandons d'ajouter la politique au rôle. Pour plus d'informations sur les politiques IAM pour les groupes de travail, consultez https://docs.aws.amazon.com/athena/latest/ug/workgroups-iam-policy.html. Pour des exemples de politiques de groupe de travail, consultez Exemples de politiques de groupe de travail.

Note

Data Wrangler ne prend pas en charge les requêtes fédérées.

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. (Facultatif) Choisissez Advanced configuration (Configuration avancée).

    1. Choisissez un Workgroup (Groupe de travail).

    2. Si votre groupe de travail n'a pas appliqué l'emplacement de sortie Amazon S3 ou si vous n'avez pas utilisé un groupe de travail, spécifiez une valeur pour Emplacement Amazon S3 des résultats des requêtes.

  5. Pour l'Echantillonnage, choisissez une méthode d'échantillonnage. Lorsque l'échantillonnage est activé, Data Wrangler échantillonne et importe environ 50 % des données interrogées. Choisissez Aucun pour désactiver l'échantillonnage.

  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 que vous avez terminé la procédure précédente, 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 Démarrer avec Amazon Redshift.

Vous pouvez afficher les résultats de votre requête Amazon Redshift dans l'un des emplacements suivants :

  • Compartiment Amazon S3 par défaut

  • Emplacement de sortie Amazon S3 que vous spécifiez

Le compartiment Amazon S3 par défaut se trouve 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 plus d'informations, consultez Stockage des données importées.

Pour le compartiment Amazon S3 par défaut ou le compartiment que vous spécifiez, vous disposez des options de chiffrement suivantes :

  • Le chiffrement côté serveur AWS par défaut avec une clé gérée par Amazon S3 (SSE-S3)

  • Une clé AWS Key Management Service (AWS KMS) que vous spécifiez

Une clé AWS KMS est une clé de chiffrement que vous créez et gérez. Pour plus d'informations sur les clés KMS, consultez AWS Key Management Service.

Vous pouvez spécifier une clé AWS KMS à l'aide de l'ARN de clé ou de l'ARN de votre compte AWS.

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 base de données) de la base 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. Sélectionnez Connexion.

  11. (Facultatif) Pour Amazon S3 output location (Emplacement de sortie Amazon S3), spécifiez l'URI S3 pour stocker les résultats de la requête.

  12. (Facultatif) Pour KMS key ID (ID de clé KMS), spécifiez l'ARN de la clé AWS KMS ou de l'alias. L'image suivante montre où vous pouvez trouver l'une ou l'autre clé dans la AWS Management Console.

L'image suivante montre tous les champs de la procédure précédente.

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 d'Amazon 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 Amazon Redshift, consultez 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. Entrez votre requête dans l'éditeur de requête, puis choisissez Run (Exécuter) pour exécuter la requête. 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. Choisissez Add (Ajouter).

Importer des données depuis Databricks (JDBC)

Vous pouvez utiliser Databricks comme source de données pour votre flux Amazon SageMaker Data Wrangler. Pour importer un jeu de données à partir de Databricks, utilisez la fonctionnalité d'importation JDBC (Java Database Connectivity) pour accéder à votre base de données Databricks. Une fois que vous avez accès à la base de données, spécifiez une requête SQL pour obtenir les données et les importer.

Nous supposons que vous disposez d'un cluster Databricks en cours d'exécution et que vous y avez configuré votre pilote JDBC. Pour plus d'informations, consultez les pages suivantes de la documentation Databricks :

Data Wrangler stocke votre URL JDBC dans AWS Secrets Manager. Vous devez autoriser votre rôle d'exécution IAM Amazon SageMaker Studio à utiliser Secrets Manager. Procédez comme suit pour accorder des autorisations.

Pour accorder des autorisations à Secrets Manager, procédez comme suit.

  1. Connectez-vous à la AWS Management Console, puis ouvrez la console IAM à l'adresse https://console.aws.amazon.com/iam/.

  2. Sélectionnez Roles (Rôles).

  3. Dans la barre de recherche, spécifiez le rôle d'exécution Amazon SageMaker utilisé par Amazon SageMaker Studio.

  4. Choisissez le rôle.

  5. Choisissez Add permissions (Ajouter des autorisations).

  6. Choisissez Create inline policy (Créer une politique en ligne).

  7. Pour Service, spécifiez Secrets Manager et choisissez-le.

  8. Pour Actions, sélectionnez l'icône en forme de flèche en regard de Permissions management (Gestion des autorisations).

  9. Choisissez PutResourcePolicy.

  10. Pour Resources (Ressources), choisissez Specific (Spécifique).

  11. Cochez la case en regard de Any in this account (N'importe quelle ressource dans ce compte).

  12. Choisissez Review policy (Examiner une politique).

  13. Pour Name (Nom), spécifiez un nom.

  14. Sélectionnez Créer une politique.

Vous pouvez utiliser des partitions pour importer vos données plus rapidement. Les partitions permettent à Data Wrangler de traiter les données en parallèle. Par défaut, Data Wrangler utilise 2 partitions. Dans la plupart des cas d'utilisation, 2 partitions offrent des vitesses de traitement des données quasi optimales.

Si vous choisissez de spécifier plus de 2 partitions, vous pouvez également spécifier une colonne pour partitionner les données. Le type des valeurs de la colonne doit être numérique ou date.

Nous vous recommandons d'utiliser des partitions uniquement si vous comprenez la structure des données et la manière dont elles sont traitées.

Procédez comme suit pour importer vos données à partir d'une base de données Databricks.

Pour importer des données depuis Databricks, procédez comme suit.

  1. Connectez-vous à la console Amazon SageMaker.

  2. Choisissez Studio.

  3. Choisissez Launch app (Lancer l'application).

  4. Dans la liste déroulante, sélectionnez Studio.

  5. Dans l'onglet Import data (Importation de données) de votre flux Data Wrangler, choisissez Add data source (Ajouter une source de données).

  6. Sélectionnez Databricks (JDBC).

    
                        Databricks (JDBC) se trouve dans l'angle supérieur droit de l'écran.
  7. Spécifiez les champs suivants :

    • Dataset name (Nom du jeu de données) : nom que vous souhaitez utiliser pour le jeu de données de votre flux Data Wrangler.

    • Driver (Pilote) : com.simba.spark.jdbc.Driver.

    • JDBC URL (URL JDBC) – URL de la base de données Databricks. Le format de l'URL peut varier d'une instance Databricks à l'autre. Pour plus d'informations sur la recherche de l'URL et sur la spécification des paramètres qu'elle contient, consultez Paramètres de configuration et de connexion JDBC. Voici un exemple de format d'URL : jdbc:spark://aws-sagemaker-datawrangler.cloud.databricks.com:443/default;transportMode=http;ssl=1;httpPath=sql/protocolv1/o/3122619508517275/0909-200301-cut318;AuthMech=3;UID=token;PWD=personal-access-token.

  8. Spécifiez une instruction SQL SELECT.

  9. (Facultatif) L'option Enable sampling (Activer l'échantillonnage) utilise les 50 000 premières lignes de votre jeu de données. Il s'agit du paramètre par défaut pour l'importation de données. Pour les jeux de données volumineux, l'importation des données peut prendre du temps si vous ne les échantillonnez pas. Pour importer l'ensemble du jeu de données, désactivez l'échantillonnage.

  10. Cliquez sur Run (Exécuter). L'image suivante illustre une requête avec l'échantillonnage activé.

    
                        La case SQL query (Requête SQL) est située sous la zone dans laquelle vous spécifiez l'URL JDBC.
  11. (Facultatif) Pour PREVIEW (APERÇU), choisissez la roue dentée pour ouvrir Partition settings (Paramètres de partition). L'image suivante illustre une requête avec les paramètres de partition de données facultatifs spécifiés.

    
                        La roue dentée permettant d'accéder aux paramètres supplémentaires est située à l'extrême droite du titre PREVIEW (APERÇU).
    1. Spécifiez le nombre de partitions. Vous pouvez partitionner par colonne si vous spécifiez le nombre de partitions :

      • Enter number of partitions (Saisissez le nombre de partitions) : spécifiez une valeur supérieure à 2.

      • (Facultatif) Partition by column (Partitionner par colonne) : renseignez les champs suivants. Vous ne pouvez partitionner par colonne que si vous avez spécifié une valeur dans le champ Enter number of partitions (Saisissez le nombre de partitions).

        • Select column (Sélectionner la colonne) – Sélectionnez la colonne que vous utilisez pour la partition de données. Le type de données de la colonne doit être numérique ou date.

        • Upper bound (Limite supérieure) – À partir des valeurs de la colonne que vous avez spécifiée, la limite supérieure est la valeur que vous utilisez dans la partition. La valeur que vous spécifiez ne modifie pas les données que vous importez. Elle n'affecte que la vitesse d'importation. Pour obtenir les meilleures performances, spécifiez une limite supérieure proche du maximum de la colonne.

        • Lower bound (Limite inférieure) – À partir des valeurs de la colonne que vous avez spécifiée, la limite inférieure est la valeur que vous utilisez dans la partition. La valeur que vous spécifiez ne modifie pas les données que vous importez. Elle n'affecte que la vitesse d'importation. Pour obtenir les meilleures performances, spécifiez une limite inférieure proche du minimum de la colonne.

  12. Choisissez Import (Importer).

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 à 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 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, identifier rapidement les incohérences dans votre flux de préparation des données, et diagnostiquer les problèmes avant que les modèles 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 Amazon SageMaker Autopilot, Amazon SageMaker Feature Store et Amazon SageMaker Model Building Pipelines.

Vous pouvez chiffrer la sortie de vos requêtes à l'aide d'une clé AWS Key Management Service que vous avez créée. Pour plus d'informations sur AWS KMS, consultez AWS Key Management Service.

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 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 Snowflake doivent configurer l'accès depuis Data Wrangler à l'aide d'Amazon S3.

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

Pour configurer l'accès, procédez comme suit.

  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

    • s3:ListObjects

    • s3:GetBucketLocation

    Créer une stratégie IAM

    Les étapes suivantes décrivent comment configurer les autorisations d'accès pour Snowflake dans votre Console de gestion AWS afin que vous puissiez utiliser un compartiment S3 pour charger et décharger des données :

    • Connectez-vous à la console de gestion AWS.

    • Dans le tableau de bord d'accueil, choisissez IAM.

    • Choisissez Policies (Stratégies).

    • Choisissez 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. 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/*"] } } } ] }
    • Choisissez Suivant : Balises.

    • Choisissez Next: Review (Suivant : Vérification).

      Saisissez le nom de la politique (comme snowflake_access) et une description facultative. Sélectionnez 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.

Fournir des informations au scientifique des données

Fournissez au scientifique des données les informations dont il a besoin pour accéder à Snowflake à partir d'Amazon SageMaker Data Wrangler.

  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.

    • Un secret créé avec AWS Secrets Manager et 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 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. Secrets Manager 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 demande d'ajouter l'autorisation secretsmanager:PutResourcePolicy à la stratégie qui est attachée à votre rôle Studio.

      Il est fortement recommandé d'étendre la stratégie 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.

      Pour plus d'informations sur la création d'un secret, consultez Création d'un secret. Vous êtes facturés pour les secrets que vous créez.

  2. Fournissez au scientifique des données le nom de l'intégration de stockage que vous avez créée à l'étape 3 : 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 qui est affichée dans l'extrait suivant :

    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 repris dans la section précédente avant que vous puissiez utiliser Data Wrangler dans Snowflake.

Suivez la procédure suivante pour ouvrir Amazon SageMaker Studio et déterminer la version que vous exécutez.

Pour ouvrir Studio et vérifier sa version, consultez la procédure suivante.

  1. Suivez les étapes décrites dans Prérequis pour accéder à Data Wrangler via Amazon SageMaker Studio.

  2. En regard de l'utilisateur que vous souhaitez utiliser pour lancer Studio, sélectionnez Launch app (Lancer l'application).

  3. Choisissez Studio.

  4. Après le chargement de Studio, sélectionnez File (Fichier), puis New (Nouveau), puis Terminal.

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

  6. 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 utiliser Snowflake.

Suivez la procédure suivante afin de vérifier que vous exécutez la version 1.3.0 ou une version ultérieure.

Pour vérifier la version de Studio, procédez comme suit.

  1. 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).

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

  3. Suivez à nouveau l'étape 3 pour vérifier que votre version de Studio est la 1.3.0.

Utilisez la procédure suivante pour vous connecter à Snowflake.

  1. 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 sélectionnant File (Fichier), puis New (Nouveau), et enfin en sélectionnant Flow (Flux).

    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...)

  2. Connectez-vous à 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 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, 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 est 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 (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. Votre administrateur fournit ce nom.

    • 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.

    • (Facultatif) KMS key ID (Identifiant de clé KMS) : choisissez AWS KMS key pour chiffrer la sortie de la requête Snowflake. Pour plus d'informations sur AWS Key Management Service, consultez https://docs.aws.amazon.com/kms/latest/developerguide/overview.html. Si vous ne spécifiez aucune clé AWS KMS, Data Wrangler utilise la méthode de chiffrement SSE-KMS par défaut.

    Cliquez sur Connect (Connexion).

    La capture d'écran suivante montre comment remplir 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 (ARN Secrets Manager) et votre Storage integration (Intégration de stockage), qui est fournie par votre administrateur. Si vous avez créé une clé KMS, vous pouvez spécifier son identifiant dans KMS key ID (Identifiant de clé KMS). Pour plus d'informations sur AWS Key Management Service, consultez https://docs.aws.amazon.com/kms/latest/developerguide/overview.html. Créez un nom de connexion (Connection name) et sélectionnez Connect (Connexion), comme illustré dans la capture d'écran suivante.

  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.

    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), comme illustré dans la capture d'écran suivante.

    À 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.

    Important

    Si vous importez un jeu de données avec des colonnes de type TIMESTAMP_TZ ou TIMESTAMP_LTZ, ajoutez ::string aux noms de colonnes de votre requête. Pour plus d'informations, consultez Procédure : décharger les données TIMESTAMP_TZ et TIMESTAMP_LTZ dans un fichier Parquet.

    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. La sortie de votre requête s'affiche sous Query results (Résultats des requêtes), comme illustré dans la capture d'écran suivante.

    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 sélectionnez Go (Aller), 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 dans les sections suivantes.

Création d'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 :

  • ID de VPC

  • ID de compte AWS

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

Important

Comme indiqué dans la documentation de Snowflake, l'activation de votre compte Snowflake peut prendre jusqu'à deux jours ouvrés.

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 Worksheets (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 repris dans l'extrait suivant. 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 (Points de terminaison) pour accéder à la configuration VPC Endpoints (Points de terminaison de VPC).

    Une fois là, sélectionner Create Endpoint (Créer un point de terminaison).

  4. Sélectionnez la case d'option pour Find service by name (Rechercher un service par nom), comme illustré dans la capture d'écran suivante.

  5. Dans le champ Service Name (Nom du service), collez la valeur pour privatelink-vpce-id que vous avez récupérée à l'étape précédente et sélectionnez Verify (Vérifier).

    Si la connexion est établie, une alerte verte indiquant Service name found (Nom du service trouvé) s'affiche sur votre écran et les options VPCet Subnet (Sous-réseau) sont développées automatiquement, comme illustré dans la capture d'écran suivante. 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 depuis la liste déroulante VPC.

  7. Si vous n'avez pas encore créé de sous-réseau, suivez l'ensemble d'instructions suivant lié à la création d'un sous-réseau.

  8. Sélectionnez Subnets (Sous-réseaux) depuis la liste déroulante VPC. Sélectionnez ensuite Create subnet (Créer un sous-réseau) et suivez les invites pour créer un sous-ensemble dans votre VPC. Assurez-vous de sélectionner l'ID du VPC que vous avez envoyé à Snowflake.

  9. Sous Security Group Configuration (Configuration du groupe de sécurité), sélectionnez Create New Security Group (Créer un nouveau groupe de sécurité) pour ouvrir l'écran par défaut Security Group (Groupe de sécurité) dans un nouvel onglet. Dans ce nouvel onglet, sélectionnez Create Security Group (Créer un groupe de sécurité).

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

  11. Ajoutez deux règles pour autoriser le trafic depuis votre VPC vers ce point de terminaison de 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. Puis, sélectionnez Add Rule (Ajouter une règle) dans la section Inbound Rules (Règles entrantes). Sélectionnez HTTPS pour le type, laissez la Source sur Custom (Personnalisé) dans la forme, et collez la valeur extraite de l'appel describe-vpcs précédent (comme 10.0.0.0/16).

  12. Sélectionnez Créer un groupe de sécurité. Récupérez le Security Group ID (ID du groupe de sécurité) du groupe de sécurité que vous venez de créer (comme sg-xxxxxxxxxxxxxxxxx).

  13. Dans l'écran de configuration VPC Endpoint (Point de terminaison de 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. Sélectionnez Create Endpoint (Créer un point de terminaison).

  15. Si la création du point de terminaison est réussie, vous voyez apparaître une page contenant un lien vers la configuration de votre point de terminaison de VPC, spécifié 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. Il peut être différencié des autres noms DNS, car il inclut uniquement le nom de la région (comme us-west-2), et aucune lettre pour la zone de disponibilité (comme 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 permet à 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. Sélectionnez l'option Hosted Zones (Zones hébergées) (si nécessaire, développez le menu de gauche pour trouver cette option).

  3. Choisissez Créer une zone hébergée.

    1. Dans le champ Domain name (Nom de domaine), référencez la valeur qui avait été stockée pour privatelink-account-url dans les étapes précédentes. Dans ce champ, votre ID de compte Snowflake est supprimé du nom du DNS et utilise uniquement la valeur commençant par l'identificateur de région. Un Resource Record Set (Jeu d'enregistrements de ressources) est également créé ultérieurement pour le sous-domaine, comme region.privatelink.snowflakecomputing.com.

    2. Sélectionnez la case d'option pour Private Hosted Zone (Zone hébergée privée) dans la 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.

    3. Dans la section VPCs to associate with the hosted zone (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.

    4. Choisissez Créer une zone hébergée.

  4. Ensuite, créez deux enregistrements, un pour privatelink-account-url et un pour privatelink_ocsp-url.

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

      1. Sous Record name (Nom de l'enregistrement), saisissez votre ID de compte Snowflake uniquement (les 8 premiers caractères dans privatelink-account-url).

      2. Sous Record type (Type d'enregistrement), sélectionnez CNAME.

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

      4. Choisissez Créer des registres.

      5. Répétez les étapes précédentes pour l'enregistrement OCSP que nous avons noté comme privatelink-ocsp-url, en commençant par ocsp jusqu'à l'ID Snowflake à 8 caractères pour le nom de l'enregistrement (comme 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. Sélectionnez Créer un groupe de sécurité.

    • Fournissez un nom pour votre groupe de sécurité (comme 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.

    • Sélectionnez Créer un groupe de sécurité. Notez le Security Group ID (ID du groupe de sécurité), car il ajoute une règle pour autoriser le trafic vers le groupe de sécurité de point de terminaison de VPC.

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

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

  4. Choisissez Create inbound endpoint (Créer un point de terminaison entrant).

    • Donnez un nom au point de terminaison.

    • Depuis la liste déroulante VPC in the Region (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 for this endpoint (Groupe de sécurité pour ce point de terminaison), sélectionnez l'ID du groupe de sécurité de l'étape 2 de cette section.

    • Dans la section IP Address (Adresse IP), sélectionnez une zone de disponibilité, sélectionnez un sous-réseau, et laissez la case d'option pour Use an IP address that is selected automatically (Utiliser une adresse IP sélectionnée automatiquement) sélectionnée pour chaque adresse IP.

    • Sélectionnez Submit (Envoyer).

  5. Sélectionnez le Inbound endpoint (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 de VPC pour les éléments suivants : Amazon SageMaker Studio, SageMaker Notebooks, l'API SageMaker, SageMaker Runtime et Amazon SageMaker Feature Store Runtime.

Créer un groupe de sécurité qui est appliqué à tous les points de terminaison.

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

  2. Sélectionnez l'option Security groups (Groupes de sécurité) dans la section Network & Security (Réseau et sécurité).

  3. Sélectionnez Create security group (Créer un groupe de sécurité).

  4. Fournissez un nom (comme datawrangler-doc-sagemaker-vpce-sg) et une description au groupe de sécurité. Une règle est ajoutée ultérieurement pour autoriser le trafic via HTTPS depuis SageMaker vers ce groupe.

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).

  3. Choisissez Create Endpoint (Créer un point de terminaison).

  4. Recherchez le service en saisissant son nom dans le champ Search (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) sélectionnée.

  8. Dans la section Security Groups (Groupes de sécurité), sélectionnez le groupe de sécurité créé dans la section précédente.

  9. Choisissez Create Endpoint (Créer un point de terminaison).

Configurer Studio et Data Wrangler

Cette section explique comment configurer Studio et Data Wrangler.

  1. Configurez le groupe de sécurité.

    1. Accédez au menu Amazon EC2 dans la console AWS.

    2. Sélectionnez l'option Security Groups (Groupes de sécurité) dans la section Network & Security (Réseau et sécurité).

    3. Sélectionnez Créer un groupe de sécurité.

    4. Fournissez un nom (comme datawrangler-doc-sagemaker-studio) et une description à votre groupe de sécurité.

    5. Créez les règles entrantes suivantes.

      • La connexion HTTPS au groupe de sécurité que vous avez alloué pour la connexion Snowflake PrivateLink que vous avez créée à l'étape Configuration de l'intégration Snowflake PrivateLink.

      • La connexion HTTP au groupe de sécurité que vous avez alloué pour la connexion Snowflake PrivateLink que vous avez créée à l'étape Configuration de l'intégration Snowflake PrivateLink.

      • Le groupe de sécurité UDP et TCP pour DNS (port 53) vers le groupe de sécurité de point de terminaison entrant du résolveur Route 53 que vous créez à l'étape 2 de Configuration du point de terminaison entrant du résolveur Route 53 pour votre VPC.

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

  2. Configurez 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).

    • Sous Authentication method (Méthode d'authentification), sélectionnez AWS Identity and Access Management (IAM).

    • Depuis le menu Permissions (Autorisations), vous pouvez créer un nouveau 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 nouveau 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 pour 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 utilise.

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

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

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

      • Sous Security Group(s) (Groupe[s] de sécurité), sélectionnez le groupe de sécurité que vous avez créé à l'étape 1.

    • Sélectionnez Submit (Envoyer).

  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é contiennent 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 Amazon EC2 dans la console AWS.

    • Localisez le groupe de sécurité que vous avez créé à l'étape précédente.

    • 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), choisissez Add user (Ajouter un utilisateur).

    • 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 nouveau 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 dans la liste déroulante. Ce rôle doit être associé à la politique AmazonSageMakerFullAccess.

    • Sélectionnez Submit (Envoyer).

  6. Créez un flux de données (suivez le Guide du scientifique des données repris dans une section précédente).

    • Lorsque vous ajoutez une connexion Snowflake, saisissez la valeur de privatelink-account-name (de l'étape Configuration de l'intégration Snowflake PrivateLink) dans le champ Snowflake account name (alphanumeric) (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-region-account number. 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/athena/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/.