

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Démarrage rapide : interrogation des données dans Amazon S3
<a name="studio-sqlexplorer-athena-s3-quickstart"></a>

Les utilisateurs peuvent analyser les données stockées dans Amazon S3 en exécutant des requêtes SQL à partir de JupyterLab blocs-notes à l'aide de l'extension SQL. L’extension s’intègre à Athena pour activer la fonctionnalité des données dans Amazon S3 en quelques étapes supplémentaires.

Cette section explique les étapes à suivre pour charger des données depuis Amazon S3 dans Athena, puis interroger ces données à JupyterLab l'aide de l'extension SQL. Vous allez créer une source de données Athena et un AWS Glue robot d'exploration pour indexer vos données Amazon S3, configurer les autorisations IAM appropriées pour permettre l'accès JupyterLab à Athena et vous connecter à Athena pour interroger les JupyterLab données. Après ces quelques étapes, vous serez en mesure d'analyser les données Amazon S3 à l'aide de l'extension SQL dans les JupyterLab blocs-notes.

**Conditions préalables**  
Connectez-vous à la console de AWS gestion à l'aide d'un compte utilisateur Gestion des identités et des accès AWS (IAM) doté d'autorisations d'administrateur. Pour en savoir plus sur la façon de s’inscrire à un compte AWS et de créer un utilisateur doté d’un accès administratif, consultez [Compléter les prérequis SageMaker relatifs à Amazon AI](gs-set-up.md).
Disposez d'un domaine SageMaker AI et d'un profil utilisateur pour accéder à SageMaker Studio. Pour plus d'informations sur la configuration d'un environnement d' SageMaker IA, consultez[Utiliser la configuration rapide pour Amazon SageMaker AI](onboard-quick-start.md).
Disposez d'un compartiment et d'un dossier Amazon S3 pour stocker les résultats des requêtes Athena, en utilisant la même AWS région et le même compte que votre environnement d' SageMaker IA. Pour en savoir plus sur la façon de créer un compartiment dans Amazon S3, consultez [Création d’un compartiment](https://docs.aws.amazon.com/AmazonS3/latest/userguide/create-bucket-overview.html) dans la documentation d’Amazon S3. Vous allez configurer ce compartiment et ce dossier pour qu’ils soient l’emplacement de sortie de vos requêtes.

**Topics**
+ [Étape 1 : configurer une source de données Athena et un AWS Glue robot d'exploration pour vos données Amazon S3](#studio-sqlexplorer-athena-s3-quickstart-setup)
+ [Étape 2 : Octroi à Studio des autorisations d’accès à Athena](#studio-sqlexplorer-athena-s3-quickstart-permissions)
+ [Étape 3 : activer la connexion par défaut d'Athena dans JupyterLab](#studio-sqlexplorer-athena-s3-quickstart-connect)
+ [Étape 4 : interroger des données dans Amazon S3 à partir de JupyterLab blocs-notes à l'aide de l'extension SQL](#studio-sqlexplorer-athena-s3-quickstart-query)

## Étape 1 : configurer une source de données Athena et un AWS Glue robot d'exploration pour vos données Amazon S3
<a name="studio-sqlexplorer-athena-s3-quickstart-setup"></a>

Suivez ces étapes pour indexer vos données dans Amazon S3 et créer des tables dans Athena.

**Note**  
Pour éviter les collisions entre les noms de tables provenant de différents emplacements Amazon S3, créez une source de données et un robot distincts pour chaque emplacement. Chaque source de données crée une table nommée d’après le dossier qui les contient, sauf si elle est préfixée.

1. Configurez un emplacement de résultats de requêtes.

   1. Accédez à la console Athena :. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)

   1. Dans le menu de gauche, choisissez **Groupes de travail**.

   1. Suivez le lien du groupe de travail `primary` et choisissez **Modifier**.

   1. Dans la section **Configuration des résultats de requêtes**, entrez le chemin Amazon S3 pour votre répertoire de sortie, puis choisissez **Enregistrer les modifications**.

1. Créez une source de données Athena pour vos données Amazon S3.

   1. Dans le menu de gauche de la console Athena, choisissez **Sources de données**, puis **Créer une source de données**. 

   1. Choisissez **S3 - Catalogue AWS Glue de données**, puis **Next**. 

   1. Laissez le **catalogue de données AWS Glue par défaut dans ce compte**, choisissez **Créer un analyseur dans AWS Glue**, puis **Créer dans AWS Glue**. Cela ouvre la AWS Glue console. 

1.  AWS Glue À utiliser pour explorer votre source de données

   1. Saisissez le nom et la description de votre nouveau robot, puis choisissez **Suivant**. 

   1. Sous **Sources de données**, choisissez **Ajouter une source de données**.

      1. Si le compartiment Amazon Amazon S3 contenant vos données se trouve dans un AWS compte différent de celui de votre environnement d' SageMaker IA, choisissez **Dans un autre compte** pour l'**emplacement des données S3**.

      1. Entrez le chemin d’accès à votre jeu de données dans Amazon S3. Par exemple :

         ```
         s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/
         ```

      1. Conservez toutes les autres valeurs par défaut, puis choisissez **Ajouter une source de données Amazon S3**. Vous devriez voir une nouvelle source de données Amazon S3 dans la table des sources de données.

      1. Choisissez **Suivant**.

       

   1. Configurez le rôle IAM permettant au robot d’accéder à vos données.
**Note**  
Chaque rôle est limité à la source de données que vous spécifiez. Lorsque vous réutilisez un rôle, modifiez la politique JSON pour ajouter toute nouvelle ressource à laquelle vous souhaitez accorder l’accès ou créez un nouveau rôle pour cette source de données.

      1. Choisissez **Créer un nouveau rôle IAM**.

      1. Saisissez le nom du rôle, puis choisissez **Suivant**.

1. Créez ou sélectionnez une base de données pour vos tables.

   1. Si vous n’avez pas de base de données existante dans Athena, choisissez **Ajouter une base de données**, puis **Créer une base de données**.

   1. De retour dans l’onglet précédent de création de votre robot, dans **Configuration de sortie**, choisissez le bouton **Actualiser**. Vous devez maintenant voir votre base de données nouvellement créée dans la liste.

   1. Sélectionnez votre base de données, ajoutez un préfixe facultatif dans **Préfixe de nom de table**, puis choisissez **Suivant**.
**Note**  
Dans l’exemple précédent où vos données figurent dans `s3://dsoaws/nyc-taxi-orig-cleaned-split-parquet-per-year-multiple-files/ride-info/year=2019/`, l’ajout du préfixe `taxi-ride-` créera une table nommée `taxi-ride-year_2019`. L’ajout d’un préfixe permet d’éviter les collisions de noms de table lorsque plusieurs emplacements de données ont des dossiers du même nom.

1. Choisissez **Créer un robot**.

1. Exécutez votre robot pour indexer vos données. Attendez que l’exécution du robot atteigne le statut `Completed`, ce qui peut prendre quelques minutes.

Pour vous assurer qu'une nouvelle table a été créée, allez dans le menu de gauche AWS Glue et choisissez **Bases de données** puis **Tables**. Vous devriez maintenant voir une nouvelle table contenant vos données. 

## Étape 2 : Octroi à Studio des autorisations d’accès à Athena
<a name="studio-sqlexplorer-athena-s3-quickstart-permissions"></a>

Dans les étapes suivantes, vous accordez au rôle d’exécution de votre profil utilisateur les autorisations d’accès à Athena.

1. Récupérez l’ARN du rôle d’exécution associé à votre profil utilisateur.

   1. Accédez à la console SageMaker AI [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)et choisissez **Domaines** dans le menu de gauche.

   1. Suivez le nom pour votre nom de domaine.

   1. Dans la liste **Profils utilisateur**, suivez le nom de votre profil utilisateur.

   1. Sur la page **Détails de l’utilisateur**, copiez l’ARN du rôle d’exécution.

1. Mettez à jour la politique de votre rôle d’exécution.

   1. Trouvez votre AWS région et votre numéro de compte en haut à droite de la console SageMaker AI. Utilisez ces valeurs et le nom de votre base de données pour mettre à jour les espaces réservés dans la politique JSON suivante, dans un éditeur de texte.

------
#### [ JSON ]

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "GetS3AndDataSourcesMetadata",
                  "Effect": "Allow",
                  "Action": [
                      "glue:GetDatabases",
                      "glue:GetSchema",
                      "glue:GetTables",
                      "s3:ListBucket",
                      "s3:GetObject",
                      "s3:GetBucketLocation",
                      "glue:GetDatabase",
                      "glue:GetTable",
                      "glue:ListSchemas",
                      "glue:GetPartitions"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*",
                      "arn:aws:glue:us-east-1:111122223333:catalog",
                      "arn:aws:glue:us-east-1:111122223333:database/db-name"
                  ]
              },
              {
                  "Sid": "ExecuteAthenaQueries",
                  "Effect": "Allow",
                  "Action": [
                      "athena:ListDataCatalogs",
                      "athena:ListDatabases",
                      "athena:ListTableMetadata",
                      "athena:StartQueryExecution",
                      "athena:GetQueryExecution",
                      "athena:RunQuery",
                      "athena:StartSession",
                      "athena:GetQueryResults",
                      "athena:ListWorkGroups",
                      "s3:ListMultipartUploadParts",
                      "s3:ListBucket",
                      "s3:GetBucketLocation",
                      "athena:GetDataCatalog",
                      "s3:AbortMultipartUpload",
                      "s3:GetObject",
                      "s3:PutObject",
                      "athena:GetWorkGroup"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ]
              },
              {
                  "Sid": "GetGlueConnectionsAndSecrets",
                  "Effect": "Allow",
                  "Action": [
                      "glue:GetConnections",
                      "glue:GetConnection"
                  ],
                  "Resource": [
                      "*"
                  ]
              }
          ]
      }
      ```

------

   1. Accédez à la console IAM : [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/)et choisissez **Rôles** dans le menu de gauche.

   1. Recherchez votre rôle par nom de rôle.
**Note**  
Vous pouvez extraire le nom d’un rôle d’exécution à partir de son Amazon Resource Name (ARN) en divisant l’ARN sur `'/'` et en prenant le dernier élément. Par exemple, dans l’exemple d’ARN suivant, `arn:aws:iam::112233445566:role/SageMakerStudio-SQLExtension-ExecutionRole`, le nom du rôle d’exécution est `SageMakerStudio-SQLExtension-ExecutionRole`.

   1. Suivez le lien correspondant à votre rôle.

   1. Dans l’onglet **Autorisations**, choisissez **Ajouter des autorisations**, puis **Créer une politique en ligne**.

   1. Choisissez le format `JSON` dans la section **Éditeur de politique**.

   1. Copiez la politique ci-dessus, puis choisissez **Suivant**. Assurez-vous d’avoir remplacé tous les `account-id`, `region-name` et `db-name` par leurs valeurs.

   1. Saisissez un nom pour votre politique, puis choisissez **Créer une politique**.

## Étape 3 : activer la connexion par défaut d'Athena dans JupyterLab
<a name="studio-sqlexplorer-athena-s3-quickstart-connect"></a>

Dans les étapes suivantes, vous allez activer un `default-athena-connection` dans votre JupyterLab application. La connexion Athena par défaut permet d'exécuter des requêtes SQL dans Athena directement depuis JupyterLab, sans qu'il soit nécessaire de créer manuellement une connexion.

Pour activer la connexion Athena par défaut

1. Accédez à la console SageMaker AI [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)et choisissez **Studio** dans le menu de gauche. À l’aide de votre domaine et de votre profil utilisateur, lancez Studio.

1. Choisissez l' JupyterLab application. 

1. Si vous n'avez pas créé d'espace pour votre JupyterLab application, choisissez **Créer un JupyterLab espace**. Entrez un nom pour cet espace, conservez-le comme **Privé**, puis choisissez **Créer un espace**. Gérez votre espace à l'aide de la dernière version de l'image SageMaker AI Distribution.

   Sinon, choisissez **Exécuter l'espace** sur votre espace pour lancer une JupyterLab application.

1. Activez la connexion par défaut d’Athena :

   1. Dans votre JupyterLab application, accédez au menu **Paramètres** dans la barre de navigation supérieure et ouvrez le menu de l'**éditeur de paramètres**.

   1. Choisissez **Découverte des données**.

   1. Cochez la case **Activer la connexion Athena par défaut**.

   1. Dans votre JupyterLab application, cliquez sur l'icône de l'extension SQL (![\[Purple circular icon with a clock symbol representing time or scheduling.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-icon.png)) dans le volet de navigation de gauche pour ouvrir l'extension SQL.

   1.  Choisissez le bouton **Actualiser** en bas du panneau de découverte de données. Vous devriez voir une `default-athena-connection` dans la liste des connexions.

## Étape 4 : interroger des données dans Amazon S3 à partir de JupyterLab blocs-notes à l'aide de l'extension SQL
<a name="studio-sqlexplorer-athena-s3-quickstart-query"></a>

Vous êtes prêt à interroger vos données à l'aide de SQL dans vos JupyterLab blocs-notes.

1. Ouvrez la connexion, `default-athena-connection` puis **AWS DataCatalog**.

1. Accédez à votre base de données et choisissez l’icône à trois points (![\[SQL extension three dots icon.\]](http://docs.aws.amazon.com/fr_fr/sagemaker/latest/dg/images/studio/sqlexplorer/sqlexplorer-3dots-icon.png)) sur sa droite. Sélectionnez **Requête dans le bloc-notes**.

   Cela remplit automatiquement une cellule du bloc-notes JupyterLab avec la commande `%%sm_sql` magique appropriée pour se connecter à la source de données. Cela ajoute également un exemple d’instruction SQL pour vous aider à exécuter des requêtes immédiatement. 
**Note**  
Assurez-vous de charger l’extension dans la cellule supérieure avant d’exécuter une requête SQL.

   Vous pouvez affiner encore la requête SQL à l’aide des fonctionnalités de saisie automatique et de surlignage de l’extension. Consultez [Fonctionnalités de l'extension JupyterLab SQL relatives à l'éditeur SQL](sagemaker-sql-extension-features-editor.md) pour plus d’informations sur l’utilisation de l’éditeur SQL de l’extension SQL.