View a markdown version of this page

Didacticiel : Premiers pas avec S3 Tables - Amazon Simple Storage Service

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.

Didacticiel : Premiers pas avec S3 Tables

Dans ce didacticiel, vous allez créer un compartiment de tables et intégrer des compartiments de tables dans votre région aux services AWS d'analyse. Vous allez ensuite utiliser la console AWS CLI or pour créer votre premier espace de noms et votre première table dans votre compartiment de tables. Ensuite, vous pouvez commencer à interroger votre table avec Athéna.

Astuce

Si vous migrez des données tabulaires de compartiments à usage général vers des compartiments de table, la bibliothèque de solutions AWS propose une solution guidée pour vous aider. Cette solution automatise le déplacement Apache Hive des tables enregistrées Apache Iceberg AWS Glue Data Catalog et stockées dans des compartiments à usage général vers des compartiments de table en utilisant AWS Step Functions Amazon EMR avec. Apache Spark Pour plus d’informations, consultez Instructions relatives à la migration de données tabulaires d’Amazon S3 vers S3 Tables dans la bibliothèque de solutions AWS .

Étape 1 : créer un bucket de tables et l'intégrer aux services AWS d'analyse

Dans cette étape, vous utilisez la console Amazon S3 pour créer votre premier compartiment de table. Pour découvrir d’autres méthodes de création d’un compartiment de tables, consultez Création d’un compartiment de tables.

Note

Par défaut, la console Amazon S3 intègre automatiquement vos compartiments de tables AWS Glue Data Catalog, ce qui permet aux services d' AWS analyse de découvrir et d'accéder automatiquement à vos données de tables S3. Si vous créez votre premier bucket de table par programmation à l'aide de l'API AWS Command Line Interface (AWS CLI) ou REST AWS SDKs, vous devez effectuer manuellement l'intégration des services AWS d'analyse. Pour de plus amples informations, veuillez consulter Intégration des tables Amazon S3 aux services AWS d'analyse.

  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans la barre de navigation en haut de la page, choisissez le nom du fichier actuellement affiché Région AWS. Choisissez ensuite la région dans laquelle vous souhaitez créer le compartiment de table.

  3. Dans le volet de navigation de gauche, choisissez Compartiments de tables.

  4. Choisissez Créer un compartiment de tables.

  5. Sous Configuration générale, saisissez un nom pour votre compartiment de table.

    Le nom du compartiment de table doit présenter les caractéristiques suivantes :

    • Soyez unique pour vous Compte AWS dans la région actuelle.

    • Il doit comporter entre 3 et 63 caractères.

    • Composé uniquement de lettres minuscules, de chiffres et de tirets (). -

    • Il doit commencer et se terminer par une lettre ou un chiffre.

    Une fois le compartiment de table créé, vous ne pouvez pas changer son nom. Le bucket Compte AWS qui crée le tableau en est propriétaire. Pour plus d’informations sur la dénomination des compartiments de table, consultez Règles de dénomination des compartiments de tables.

  6. Dans la section Intégration aux services AWS d'analyse, assurez-vous que la case Activer l'intégration est cochée.

    Si l'option Activer l'intégration est sélectionnée lorsque vous créez votre premier compartiment de table à l'aide de la console, Amazon S3 tente d'intégrer votre compartiment de table aux services AWS d'analyse. Cette intégration vous permet d'utiliser les services AWS d'analyse pour accéder à toutes les tables de la région actuelle. Pour de plus amples informations, veuillez consulter Intégration des tables Amazon S3 aux services AWS d'analyse.

  7. Choisissez Créer un compartiment.

Étape 2 : créer un espace de noms de tables et une table

Pour cette étape, vous créez un espace de noms dans votre compartiment de table, puis créez une nouvelle table sous cet espace de noms. Vous pouvez créer un espace de noms de tables et une table en utilisant la console ou l’ AWS CLI.

Important

Lorsque vous créez des tables, assurez-vous d’utiliser toutes les lettres minuscules dans les noms et les définitions de tables. Par exemple, assurez-vous que les noms des tables et des colonnes sont tous en minuscules. Si le nom ou la définition de votre table contient des majuscules, le tableau n'est pas pris en charge par AWS Lake Formation le AWS Glue Data Catalog. Dans ce cas, votre table ne sera pas visible par les services d' AWS analyse tels qu'Amazon Athena, même si vos compartiments de tables sont intégrés aux AWS services d'analyse.

Si la définition de votre table contient des majuscules, le message d'erreur suivant s'affiche lorsque vous exécutez une SELECT requête dans Athena : « GENERIC_INTERNAL_ERROR : Get table request failed : com.amazonaws.services.glue.model. ValidationException: ressource de fédération non prise en charge - Noms de table ou de colonne non valides. »

La procédure suivante utilise la console Amazon S3 pour créer un espace de noms et une table avec Amazon Athena.

Pour créer un espace de noms de tables et une table
  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments de tables.

  3. Sur la page Compartiments de table, choisissez le compartiment de table dans lequel vous souhaitez créer une table.

  4. Sur la page des détails du compartiment de table, choisissez Créer une table avec Athena.

  5. Dans la boîte de dialogue Créer une table avec Athena, choisissez Créer un espace de noms, puis saisissez un nom dans le champ Nom de l’espace de noms. Les noms des espaces de noms doivent comporter de 1 à 255 caractères et être uniques dans le compartiment de table. Les caractères valides sont : a-z, A-Z, 0-9 et le trait d’union (_). Les traits de soulignement ne sont pas autorisés au début des noms d’espaces de noms.

  6. Choisissez Create namespace (Créer un espace de noms).

  7. Choisissez Créer une table avec Athena.

  8. La console Amazon Athena s’ouvre et l’éditeur de requêtes Athena apparaît. L’éditeur de requêtes contient un exemple de requête que vous pouvez utiliser pour créer une table. Modifiez la requête pour spécifier le nom de la table et les colonnes que vous souhaitez attribuer à la table.

  9. Lorsque vous avez terminé de modifier la requête, choisissez Exécuter pour créer votre table.

Si la création de votre table a réussi, le nom de votre nouvelle table apparaît dans la liste des tables d’Athena. Lorsque vous revenez à la console Amazon S3, votre nouvelle table apparaît dans la liste Tables de la page de détails de votre compartiment de table une fois que vous avez actualisé la liste.

Pour utiliser les AWS CLI exemples de commandes suivants afin de créer un espace de noms dans votre compartiment de tables, puis de créer une nouvelle table avec un schéma sous cet espace de noms, remplacez les user input placeholder valeurs par les vôtres.

Conditions préalables
  1. Créez un nouvel espace de noms dans votre compartiment de table en exécutant la commande suivante :

    aws s3tables create-namespace \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket \ --namespace my_namespace
    1. Vérifiez que votre espace de noms a été créé avec succès en exécutant la commande suivante :

      aws s3tables list-namespaces \ --table-bucket-arn arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket
  2. Créez une nouvelle table avec un schéma de table en exécutant la commande suivante :

    aws s3tables create-table --cli-input-json file://mytabledefinition.json

    Pour le fichier mytabledefinition.json, utilisez l’exemple de définition de table suivant :

    { "tableBucketARN": "arn:aws:s3tables:us-east-1:111122223333:bucket/amzn-s3-demo-table-bucket", "namespace": "my_namespace", "name": "my_table", "format": "ICEBERG", "metadata": { "iceberg": { "schema": { "fields": [ {"name": "id", "type": "int","required": true}, {"name": "name", "type": "string"}, {"name": "value", "type": "int"} ] } } } }

Étape 3 : Interroger des données avec SQL dans Athena

Vous pouvez interroger votre table avec SQL dans Athena. Athena prend en charge les requêtes en langage de définition de données (DDL), en langage de manipulation de données (DML) et en langage de requête de données (DQL) pour S3 Tables.

Vous pouvez accéder à la requête Athena depuis la console Amazon S3 ou via la console Amazon Athena.

La procédure suivante utilise la console Amazon S3 pour accéder à l’éditeur de requêtes Athena afin que vous puissiez interroger une table avec Amazon Athena.

Pour interroger une table
  1. Connectez-vous à la console Amazon S3 AWS Management Console et ouvrez-la à l'adresse https://console.aws.amazon.com/s3/.

  2. Dans le volet de navigation de gauche, choisissez Compartiments de tables.

  3. Sur la page Compartiments de table, choisissez le compartiment qui contient la table que vous souhaitez interroger.

  4. Dans la page des détails du compartiment, choisissez le bouton radio en regard du nom de la table que vous souhaitez interroger.

  5. Choisissez Interroger une table avec Athena.

  6. La console Amazon Athena s’ouvre et l’éditeur de requêtes Athena apparaît avec un exemple de requête SELECT chargé pour vous. Modifiez cette requête en fonction de votre cas d’utilisation.

  7. Pour exécuter la requête, choisissez ensuite Run (Exécuter).

Pour interroger une table
  1. Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/.

  2. Interrogez votre table. Voici un exemple de requête que vous pouvez modifier. Veillez à remplacer les user input placeholders par vos propres informations.

    SELECT * FROM "s3tablescatalog/amzn-s3-demo-table-bucket"."my_namespace"."my_table" LIMIT 10
  3. Pour exécuter la requête, choisissez ensuite Run (Exécuter).