

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.

# Enregistrement et utilisation des catalogues de données dans Athena
<a name="gdc-register"></a>

Athena prend en charge le montage et la connexion à plusieurs catalogues de données. 
+ Vous pouvez y monter des données Amazon Redshift AWS Glue Data Catalog et les interroger depuis Athena sans avoir à les copier ou à les déplacer. Pour plus d’informations, consultez [Bringing Amazon Redshift data into the AWS Glue Data Catalog](https://docs.aws.amazon.com/lake-formation/latest/dg/managing-namespaces-datacatalog.html).
+  Connectez les AWS Glue Data Catalog à des sources de données externes à l'aide de AWS Glue connexions et créez des catalogues fédérés pour gérer de manière centralisée les autorisations d'accès aux données grâce à un contrôle d'accès précis à l'aide de Lake Formation. Pour de plus amples informations, veuillez consulter [Enregistrement de votre connexion en tant que Catalogue de données Glue](register-connection-as-gdc.md).
+ Créez des catalogues à partir de compartiments de table Amazon S3 et utilisez Lake Formation pour gérer de manière centralisée les autorisations d’accès et restreindre l’accès des utilisateurs aux objets contenus dans le compartiment de table. Pour plus d’informations, consultez [Working with Amazon S3 Tables and table buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables.html) dans le Guide d’utilisation d’Amazon S3.

**Note**  
Pour tout catalogue Glue, vous ne pouvez enregistrer qu’un catalogue à plusieurs niveaux, tel que `123412341234:my_catalog/my_child`. Vous ne pouvez pas enregistrer un catalogue à un seul niveau, tel que `123412341234:linkcontainer` ou `my_catalog`. Les catalogues à un seul niveau peuvent uniquement être interrogés à l’aide du catalogue de données Glue, directement dans la requête Athena. Pour de plus amples informations, veuillez consulter [Interrogez AWS Glue les catalogues de données dans Athena](gdc-register-query-the-data-source.md). 

**Topics**
+ [Enregistrement de catalogues de données Redshift dans Athena](gdc-register-rs.md)
+ [Enregistrement de catalogues fédérés dans Athena](gdc-register-federated.md)
+ [Enregistrement de catalogues de compartiment de table S3 et interrogation de tables à partir d’Athena](gdc-register-s3-table-bucket-cat.md)
+ [Interrogez AWS Glue les catalogues de données dans Athena](gdc-register-query-the-data-source.md)

# Enregistrement de catalogues de données Redshift dans Athena
<a name="gdc-register-rs"></a>

Athena peut lire et écrire des données stockées dans des espaces de noms sans serveur ou des clusters Redshift enregistrés dans le AWS Glue Data Catalog. Cela fonctionne en parallèle avec AWS Lake Formation, ce qui fournit une sécurité et une gouvernance centralisées, garantit que l'accès aux données est géré de manière cohérente sur les différents moteurs de requête et maintient des contrôles d'accès précis pour les données Redshift partagées.

## Considérations et restrictions
<a name="gdc-register-rs-considerations-and-limitations"></a>
+ **Vues matérialisées** : les vues matérialisées Amazon Redshift peuvent être interrogées à partir d’Athena, mais la création de vues matérialisées à l’aide d’Athena ou de Spark n’est pas prise en charge.
+ Les opérations DDL, y compris le paramétrage AWS Glue Data Catalog de la configuration et les opérations sur les tables de stockage gérées par Amazon Redshift, ne sont pas prises en charge.

## Conditions préalables
<a name="gdc-register-rs-prerequisites"></a>

Avant de pouvoir interroger un catalogue de AWS Glue données auprès d'Athena, effectuez les tâches suivantes :

1. Créez et enregistrez un cluster ou un espace de noms sans serveur Amazon Redshift dans le AWS Glue Data Catalog. Pour plus d’informations, consultez [Registering a cluster to the AWS Glue Data Catalog](https://docs.aws.amazon.com/redshift/latest/mgmt/register-cluster.html) ou [Registering namespaces to the AWS Glue Data Catalog](https://docs.aws.amazon.com/redshift/latest/mgmt/serverless_datasharing-register-namespace.html) dans le Guide de gestion d’Amazon Redshift.

1. Créez un catalogue de données à AWS Lake Formation partir de l'espace de noms enregistré. Pour plus d'informations, consultez la section [Création de catalogues fédérés Amazon Redshift](https://docs.aws.amazon.com/lake-formation/latest/dg/create-ns-catalog.html) dans le manuel du développeur. AWS Lake Formation 

1. (Facultatif) Utilisez Lake Formation pour définir des contrôles d’accès précis dans le catalogue. Pour plus d'informations, consultez la section [Intégrer vos données AWS Glue Data Catalog dans le](https://docs.aws.amazon.com/lake-formation/latest/dg/bring-your-data-overview.html) Guide du AWS Lake Formation développeur.

## Enregistrement d’un catalogue de données Redshift à l’aide de la console Athena
<a name="gdc-register-rs-console-steps"></a>

Pour enregistrer un catalogue de données Redshift à l’aide de la console Athena, effectuez les étapes suivantes.

1. Ouvrez la console à l'adresse [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. Dans le panneau de navigation, sélectionnez **Sources de données et catalogues**.

1. Sur la page **Sources de données et catalogues**, sélectionnez **Créer une source de données**.

1. Dans **Choisir une source de données**, sélectionnez **Amazon S3 – AWS Glue Data Catalog**.

1. Dans la section **AWS Glue Data Catalog**, dans **Compte de source de données**, sélectionnez **AWS Glue Data Catalog dans ce compte**.

1. Pour **Créer une table ou enregistrer un catalogue**, choisissez **Enregistrer un nouveau AWS Glue catalogue**.

1. Dans la section **Détails de la source de données**, dans **Nom de la source de données**, saisissez le nom que vous souhaitez utiliser pour spécifier la source de données dans vos requêtes SQL ou utilisez le nom par défaut généré.

1. Pour **Catalogue**, choisissez **Parcourir** pour rechercher une liste de AWS Glue catalogues dans le même compte. Si vous ne voyez aucun catalogue existant, créez-en un dans la [console AWS Glue](https://console.aws.amazon.com/glue/). 

1. Dans la boîte de dialogue **Parcourir AWS Glue les catalogues**, sélectionnez le catalogue que vous souhaitez utiliser, puis choisissez **Choisir**.

1. (Facultatif) Pour les **balises**, entrez les key/value paires que vous souhaitez associer à la source de données.

1. Choisissez **Suivant**.

1. Sur la page **Vérifier et créer**, vérifiez que les informations que vous avez saisies sont correctes, puis sélectionnez **Créer une source de données**.

# Enregistrement de catalogues fédérés dans Athena
<a name="gdc-register-federated"></a>

Après avoir créé des connexions aux sources de données fédérées, vous pouvez les enregistrer en tant que catalogues de données fédérés pour simplifier la découverte de données et gérer l’accès aux données à l’aide d’autorisations précises via Lake Formation. Pour de plus amples informations, veuillez consulter [Enregistrement de votre connexion en tant que Catalogue de données Glue](register-connection-as-gdc.md).

## Considérations et restrictions
<a name="gdc-register-federated-consideration"></a>
+ Les opérations DDL ne sont pas prises en charge dans les catalogues fédérés. 
+ Vous pouvez enregistrer les connecteurs suivants à intégrer AWS Glue pour un contrôle d'accès précis :
  + [Stockage Azure Data Lake](connectors-adls-gen2.md)
  + [Azure Synapse](connectors-azure-synapse.md)
  + [BigQuery](connectors-bigquery.md)
  + [CMDB](connectors-cmdb.md)
  + [DB2](connectors-ibm-db2.md)
  + [Série Db2 i](connectors-ibm-db2-as400.md)
  + [DocumentDB](connectors-docdb.md)
  + [DynamoDB](connectors-dynamodb.md)
  + [Stockage dans le cloud de Google](connectors-gcs.md)
  + [HBase](connectors-hbase.md)
  + [MySQL](connectors-mysql.md)
  + [OpenSearch](connectors-opensearch.md)
  + [Oracle](connectors-oracle.md)
  + [PostgreSQL](connectors-postgresql.md)
  + [Redshift](connectors-redshift.md)
  + [SAP HANA](connectors-sap-hana.md)
  + [Snowflake](connectors-snowflake.md)
  + [SQL Server](connectors-microsoft-sql-server.md)
  + [Timestream](connectors-timestream.md)
  + [TPC-DS](connectors-tpcds.md)
+ Lorsque vous créez un lien vers une ressource pour la fédération de connexion Glue, le nom du [lien vers la ressource](https://docs.aws.amazon.com/lake-formation/latest/dg/create-resource-link-database.html) doit être identique au nom de base de données du producteur.
+ À l’heure actuelle, seuls les noms de table et de colonne en minuscules sont reconnus, même si la source de données n’est pas sensible à la casse.

# Enregistrement de catalogues de compartiment de table S3 et interrogation de tables à partir d’Athena
<a name="gdc-register-s3-table-bucket-cat"></a>

Les compartiments de table Amazon S3 sont un type de compartiment d’Amazon S3 spécialement conçu pour stocker des données tabulaires dans des tables Apache Iceberg. Les compartiments de table automatisent les tâches de gestion des tables telles que le compactage, la gestion des instantanés et le récupérateur de mémoire afin d’optimiser en permanence les performances des requêtes et de réduire les coûts. Que vous débutiez ou que vous disposiez de milliers de tables dans votre environnement Iceberg, les compartiments de table simplifient les lacs de données à n’importe quelle échelle. Pour plus d’informations, consultez [Table buckets](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets.html).

## Considérations et restrictions
<a name="gdc-register-s3-table-consideration"></a>
+ Toutes les opérations DDL prises en charge pour les tables Iceberg sont prises en charge pour les tables S3, à l’exception de ce qui suit :
  + Les opérations `ALTER TABLE RENAME`, `CREATE VIEW` et `ALTER DATABASE` ne sont pas prises en charge.
  + Opérations `OPTIMIZE` et `VACUUM` : vous pouvez gérer le compactage et la gestion des instantanés dans S3. Pour plus d’informations, consultez la [documentation sur la maintenance des tables S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-maintenance.html).
+ Les requêtes DDL sur les tables S3 enregistrées en tant que sources de données Athena ne sont pas prises en charge.
+ La réutilisation des résultats des requêtes n’est pas prise en charge.
+ Dans les groupes de travail où le chiffrement SSE-KMS ou CSE-KMS est activé, vous ne pouvez pas exécuter d’opérations d’écriture telles que `INSERT`, `UPDATE`, `DELETE`, ou `MERGE` sur des tables S3.
+ Dans les groupes de travail où l’option S3 Paiement par le demandeur est activée, vous ne pouvez pas exécuter d’opérations DML sur des tables S3.

## Interrogation de tables S3 à partir d’Athena
<a name="gdc-register-s3-table-prereq-setup"></a>

**Effectuez ces étapes préalables avant d’interroger des tables S3 dans Athena :**

1. Créez un compartiment S3. Pour plus d’informations, consultez [Creating a table bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-buckets-create.html) dans le Guide d’utilisation d’Amazon Simple Storage Service. 

1. Assurez-vous que l'intégration de vos seaux de table AWS Glue Data Catalog est réussie. Pour connaître les autorisations requises et les étapes de configuration, consultez [les sections Conditions préalables à l'intégration des tables S3](https://docs.aws.amazon.com/glue/latest/dg/s3tables-catalog-prerequisites.html) et [Activation de l'intégration des tables S3 avec Glue Data Catalog](https://docs.aws.amazon.com/glue/latest/dg/enable-s3-tables-catalog-integration.html) dans le guide du AWS Glue développeur.

1. Pour le principal que vous utilisez pour exécuter des requêtes avec Athena, accordez des autorisations sur le catalogue de tables S3 en utilisant l'une des approches suivantes : 

   **Option 1 : utiliser les autorisations IAM**

   Lorsque vous utilisez le contrôle d'accès IAM, votre principal a besoin d'autorisations à la fois sur les AWS Glue Data Catalog ressources et sur les ressources Amazon S3 Tables.

   La liste suivante contient toutes les `s3tables` autorisations requises pour effectuer toute opération DDL ou DML prise en charge sur vos tables S3 dans Athena :
   + `s3tables:GetTableBucket`
   + `s3tables:GetNamespace`
   + `s3tables:GetTable`
   + `s3tables:GetTableData`
   + `s3tables:PutTableData`
   + `s3tables:ListNamespaces`
   + `s3tables:ListTables`
   + `s3tables:DeleteNamespace`
   + `s3tables:DeleteTable`
   + `s3tables:CreateNamespace`
   + `s3tables:CreateTable`
   + `s3tables:UpdateTableMetadataLocation`

   Appliquez ces autorisations à des compartiments de tables S3 et à des ressources de table S3 spécifiques ou utilisez-les `*` comme ressource pour accorder l'accès à tous les compartiments de tables et tables de votre compte. Ces autorisations peuvent être combinées à la politique [https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAthenaFullAccess.html](https://docs.aws.amazon.com/aws-managed-policy/latest/reference/AmazonAthenaFullAccess.html)gérée pour activer toutes les fonctionnalités.

   **Option 2 : Utiliser les autorisations de Lake Formation**

   Sinon, pour activer un contrôle d'accès précis, vous pouvez accorder des autorisations à Lake Formation sur le catalogue de tables S3, soit par le biais de la console Lake Formation, soit. AWS CLI Cela nécessite d'enregistrer vos compartiments de table S3 en tant que localisation de données de Lake Formation. Pour plus d'informations, consultez [la section Création d'un catalogue de tables Amazon S3 AWS Glue Data Catalog dans le](https://docs.aws.amazon.com/lake-formation/latest/dg/create-s3-tables-catalog.html) guide du développeur in the Lake Formation.

------
#### [ AWS Management Console ]

   1. Ouvrez la AWS Lake Formation console [https://console.aws.amazon.com/lakeformation/](https://console.aws.amazon.com/lakeformation/) et connectez-vous en tant qu'administrateur du lac de données. Pour plus d’informations sur la manière de créer un administrateur de lac de données, consultez [Création d’un administrateur de lac de données](https://docs.aws.amazon.com/lake-formation/latest/dg/initial-lf-config.html#create-data-lake-admin).

   1. Dans le volet de navigation, choisissez **Autorisations de données**, puis **Accorder**. 

   1. Sur la page **Accorder des autorisations**, sous **Principaux**, sélectionnez le principal que vous souhaitez utiliser pour soumettre une requête depuis Athena.

   1. Sous **Balises LF ou ressources de catalogue**, choisissez **Ressources de catalogue de données nommées**.

   1. Pour **Catalogues**, choisissez un catalogue de données Glue que vous avez créé à partir de l’intégration de votre compartiment de tables. Par exemple, :s3tablescatalog/*<accoundID>*. *amzn-s3-demo-bucket*

   1. Dans **Autorisation de catalogue**, sélectionnez **Super**.

   1. Choisissez **Accorder**.

------
#### [ AWS CLI ]

   Exécutez la commande suivante avec le rôle d’administrateur du lac de données Lake Formation pour accorder l’accès au principal que vous utilisez pour soumettre une requête depuis Athena. 

   ```
   aws lakeformation grant-permissions \
   --region <region (Example,us-east-1)> \
   --cli-input-json \
   '{
       "Principal": {
           "DataLakePrincipalIdentifier": "<user or role ARN (Example, arn:aws:iam::<Account ID>:role/ExampleRole>"
       },
       "Resource": {
           "Catalog": {
               "Id":"<Account ID>:s3tablescatalog/amzn-s3-demo-bucket"
           }
       },
       "Permissions": ["ALL"]
   }'
   ```

------

**Soumission de requêtes pour les tables S3**

1. Soumettez une `CREATE DATABASE` requête depuis Athena en utilisant l’utilisateur/le rôle autorisé ci-dessus. Dans cet exemple, `s3tablescatalog` est le catalogue de données Glue parent créé à partir de l’intégration et ` s3tablescatalog/amzn-s3-demo-bucket` est le catalogue de données Glue enfant créé pour chaque compartiment de table S3. Il existe deux manières de lancer une requête.

------
#### [ Option 1 ]

   Spécifiez le Glue Data Catalog (`s3tablescatalog/amzn-s3-demo-bucket`) enfant directement depuis la console ou AWS CLI.

   **En utilisant AWS Management Console**

   1. Ouvrez la console à l'adresse [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

   1. Dans le volet de navigation de gauche, pour **Nom de la source de données**, sélectionnez **AwsDataCatalog**.

   1. Pour **Catalog**, choisissez ***amzn-s3-demo-bucket*s3tablescatalog/**.

   1. Dans l’éditeur de requêtes, saisissez une requête, telle que `CREATE DATABASE test_namespace`.

   **En utilisant AWS CLI**

   Exécutez la commande suivante.

   ```
   aws athena start-query-execution \ 
   --query-string 'CREATE DATABASE `test_namespace`' \ 
   --query-execution-context '{"Catalog": "s3tablescatalog/amzn-s3-demo-bucket"}' \
   --work-group "primary"
   ```

------
#### [ Option 2 ]

   Créez le catalogue de données Athena à partir du catalogue de données Glue enfant dans la console Athena et spécifiez-le en tant que catalogue dans la requête. Pour de plus amples informations, veuillez consulter [Enregistrement de catalogues de compartiment de table S3 en tant que sources de données Athena](#gdc-register-s3-table-console-steps).

------

1. À l’aide de la base de données que vous avez créée à l’étape précédente, utilisez `CREATE TABLE` pour créer une table. L’exemple suivant crée une table dans la base de données *`test_namespace`* que vous avez créée précédemment dans le catalogue Glue `s3tablescatalog/amzn-s3-demo-bucket`.

------
#### [ AWS Management Console ]

   1. Dans le volet de navigation de gauche, pour **Nom de la source de données**, sélectionnez **AwsDataCatalog**.

   1. Pour **Catalog**, choisissez ***amzn-s3-demo-bucket*s3tablescatalog/**.

   1. Dans **Base de données**, sélectionnez **test\$1namespace**.

   1. Dans l’éditeur de requêtes, exécutez la requête suivante.

      ```
      CREATE TABLE daily_sales (
              sale_date date,
              product_category
              string, sales_amount double)
      PARTITIONED BY (month(sale_date))
      TBLPROPERTIES ('table_type' = 'iceberg')
      ```

------
#### [ AWS CLI ]

   Exécutez la commande suivante.

   ```
   aws athena start-query-execution \
   --query-string "CREATE TABLE daily_sales (
           sale_date date,
           product_category
           string, sales_amount double)
   PARTITIONED BY (month(sale_date))
   TBLPROPERTIES ('table_type' = 'iceberg')" \
   --query-execution-context '{"Catalog": "s3tablescatalog/amzn-s3-demo-bucket", "Database":"test_namespace"}' \
   --work-group "primary"
   ```

------

1. Insérez les données dans la table que vous avez créée à l’étape précédente.

------
#### [ AWS Management Console ]

   1. Dans le volet de navigation de gauche, pour **Nom de la source de données**, sélectionnez **AwsDataCatalog**.

   1. Pour **Catalog**, choisissez ***amzn-s3-demo-bucket*s3tablescatalog/**.

   1. Dans **Base de données**, sélectionnez **test\$1namespace**.

   1. Dans l’éditeur de requêtes, exécutez la requête suivante.

      ```
      INSERT INTO daily_sales
      VALUES 
          (DATE '2024-01-15', 'Laptop', 900.00),
          (DATE '2024-01-15', 'Monitor', 250.00),
          (DATE '2024-01-16', 'Laptop', 1350.00),
          (DATE '2024-02-01', 'Monitor', 300.00);
      ```

------
#### [ AWS CLI ]

   Exécutez la commande suivante.

   ```
   aws athena start-query-execution \
   --query-string "INSERT INTO \"s3tablescatalog/amzn-s3-demo-bucket\".test_namespace.daily_sales
   VALUES 
   (DATE '2024-01-15', 'Laptop', 900.00),
   (DATE '2024-01-15', 'Monitor', 250.00),
   (DATE '2024-01-16', 'Laptop', 1350.00),
   (DATE '2024-02-01', 'Monitor', 300.00)"\ 
   --work-group "primary"
   ```

------

1. Une fois les données insérées dans la table, vous pouvez l’interroger.

------
#### [ AWS Management Console ]

   1. Dans le volet de navigation de gauche, pour **Nom de la source de données**, sélectionnez **AwsDataCatalog**.

   1. Pour **Catalog**, choisissez ***amzn-s3-demo-bucket*s3tablescatalog/**.

   1. Dans **Base de données**, sélectionnez **test\$1namespace**.

   1. Dans l’éditeur de requêtes, exécutez la requête suivante.

      ```
      SELECT
          product_category,
          COUNT(*) AS units_sold,
          SUM(sales_amount) AS total_revenue,
          AVG(sales_amount) AS average_price
      FROM
          daily_sales
      WHERE
          sale_date BETWEEN DATE '2024-02-01' 
                       AND DATE '2024-02-29'
      GROUP BY
          product_category
      ORDER BY
          total_revenue DESC
      ```

------
#### [ AWS CLI ]

   Exécutez la commande suivante.

   ```
   aws athena start-query-execution \
   --query-string "SELECT product_category,
       COUNT(*) AS units_sold,
       SUM(sales_amount) AS total_revenue,
       AVG(sales_amount) AS average_price
   FROM \"s3tablescatalog/amzn-s3-demo-bucket\".test_namespace.daily_sales
   WHERE sale_date BETWEEN DATE '2024-02-01' AND DATE '2024-02-29'
   GROUP BY product_category
   ORDER BY total_revenue DESC"\
   --work-group "primary"
   ```

------

## Création de tables S3 dans Athena
<a name="gdc-create-s3-tables-athena"></a>

Athena prend en charge la création de tables dans des espaces de noms de tables S3 existants ou des espaces de noms créés dans Athena à l’aide d’instructions `CREATE DATABASE`. La syntaxe utilisée pour créer une table S3 à partir d’Athena et la même que celle utilisée pour [créer une table Iceberg classique](querying-iceberg-creating-tables.md), à ceci près que vous ne spécifiez pas la propriété `LOCATION`, comme illustré dans l’exemple suivant.

```
CREATE TABLE
[db_name.]table_name (col_name data_type [COMMENT col_comment] [, ...] )
[PARTITIONED BY (col_name | transform, ... )]
[TBLPROPERTIES ([, property_name=property_value] )]
```

Vous pouvez également créer des tables S3 à l’aide d’instructions CREATE TABLE AS SELECT (CTAS). Pour de plus amples informations, veuillez consulter [Opérations CTAS dans le cadre des tables S3](#ctas-s3-tables).

## Enregistrement de catalogues de compartiment de table S3 en tant que sources de données Athena
<a name="gdc-register-s3-table-console-steps"></a>

Pour enregistrer des catalogues de compartiment de table S3 à l’aide de la console Athena, effectuez les étapes suivantes.

1. Ouvrez la console à l'adresse [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/).

1. Dans le panneau de navigation, sélectionnez **Sources de données et catalogues**.

1. Sur la page **Sources de données et catalogues**, sélectionnez **Créer une source de données**.

1. Dans **Choisir une source de données**, sélectionnez **Amazon S3 – AWS Glue Data Catalog**.

1. Dans la section **AWS Glue Data Catalog**, dans **Compte de source de données**, sélectionnez **AWS Glue Data Catalog dans ce compte**.

1. Pour **Créer une table ou enregistrer un catalogue**, choisissez **Enregistrer un nouveau AWS Glue catalogue**.

1. Dans la section **Détails de la source de données**, dans **Nom de la source de données**, saisissez le nom que vous souhaitez utiliser pour spécifier la source de données dans vos requêtes SQL ou utilisez le nom par défaut généré.

1. Pour **Catalogue**, choisissez **Parcourir** pour rechercher une liste de AWS Glue catalogues dans le même compte. Si vous ne voyez aucun catalogue existant, créez-en un dans la [console AWS Glue](https://console.aws.amazon.com/glue/). 

1. Dans la boîte de dialogue **Parcourir AWS Glue les catalogues**, sélectionnez le catalogue que vous souhaitez utiliser, puis choisissez **Choisir**.

1. (Facultatif) Pour les **balises**, entrez les key/value paires que vous souhaitez associer à la source de données.

1. Choisissez **Suivant**.

1. Sur la page **Vérifier et créer**, vérifiez que les informations que vous avez saisies sont correctes, puis sélectionnez **Créer une source de données**.

## Opérations CTAS dans le cadre des tables S3
<a name="ctas-s3-tables"></a>

Amazon Athena prend désormais en charge les opérations CREATE TABLE AS SELECT (CTAS) dans le cadre des tables S3. Cette fonctionnalité vous permet de créer de nouvelles tables S3 sur la base des résultats d’une requête SELECT. 

La création d’une requête CTAS dans le cadre d’une table S3 présente quelques différences importantes par rapport aux tables Athena standard :
+ Vous devez omettre la propriété location, car les tables S3 gèrent automatiquement leurs propres emplacements de stockage.
+ La propriété `table_type` est définie par défaut sur `ICEBERG`, vous n’avez donc pas besoin de la spécifier explicitement dans votre requête.
+ Si vous ne spécifiez aucun format, le système utilise automatiquement `PARQUET` comme format par défaut pour vos données.
+ Les autres propriétés suivent toutes la même syntaxe que pour les tables Iceberg classiques.

Avant de créer des tables S3 à l'aide de CTAS, assurez-vous que vous disposez des autorisations nécessaires configurées dans IAM ou. AWS Lake Formation Plus précisément, vous avez besoin d’autorisations pour créer des tables dans le catalogue de tables S3. Sans ces autorisations, vos opérations CTAS échoueront.

**Note**  
Si votre requête CTAS échoue, vous devrez peut-être supprimer votre table à l’aide de l’[API relative aux tables S3](https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-tables-delete.html) avant de tenter de réexécuter votre requête. Vous ne pouvez pas utiliser les instructions `DROP TABLE` Athena pour supprimer la table partiellement créée par la requête. 

**Exemple**

```
CREATE TABLE "s3tablescatalog/amzn-s3-demo-bucket"."namespace"."s3-table-name"
WITH (
    format = 'PARQUET'
)
AS SELECT *
FROM source_table;
```

# Interrogez AWS Glue les catalogues de données dans Athena
<a name="gdc-register-query-the-data-source"></a>

Pour interroger les catalogues de données à partir d’Athena, effectuez l’une des actions suivantes.
+ Enregistrez le catalogue dans Athena en tant que source de données, puis utilisez le nom de la source de données pour interroger le catalogue. Dans le cadre de cette utilisation, les requêtes suivantes sont équivalentes.

  ```
  SELECT * FROM my_data_source.my_database.my_table
  ```
+ Si vous interrogez un catalogue qui n’a pas été enregistré en tant que source de données Athena, vous pouvez fournir le chemin complet vers le catalogue dans vos requêtes `SELECT`, comme illustré dans l’exemple suivant.

  ```
  SELECT * FROM "my_catalog/my_subcatalog".my_database.my_table
  ```
+ Vous pouvez également le faire par le biais du AWS Management Console.

  1. Ouvrez la console Athena à l'adresse [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/)

  1. Dans l'éditeur de requêtes, pour **Source de données**, sélectionnez **AwsDataCatalog**.

  1. Dans **Catalogue**, sélectionnez le nom du catalogue que vous souhaitez utiliser.

  1. Dans **Base de données**, sélectionnez la base de données contenant la table que vous souhaitez interroger.

  1. Saisissez une requête telle que `SELECT * FROM my_table`, puis sélectionnez **Exécuter**.