

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.

# Synchronisation des métadonnées Delta Lake
<a name="delta-lake-tables-syncing-metadata"></a>

Athena synchronise les métadonnées des tables, y compris le schéma, les colonnes de partition et les propriétés des tables, AWS Glue si vous utilisez Athena pour créer votre table Delta Lake. Au fil du temps, ces métadonnées peuvent perdre leur synchronisation avec les métadonnées de la table sous-jacente dans le journal des transactions. Pour garder votre table à jour, vous pouvez choisir l'une des options suivantes :
+ Utilisez le AWS Glue crawler pour les tables Delta Lake. Pour plus d'informations, consultez les sections [Présentation de la prise en charge native des tables Delta Lake avec AWS Glue les robots](https://aws.amazon.com/blogs/big-data/introducing-native-delta-lake-table-support-with-aws-glue-crawlers/) d'exploration dans le *blog AWS Big Data* et [Planification d'un AWS Glue robot d'exploration](https://docs.aws.amazon.com/glue/latest/dg/schedule-crawler.html) dans le guide du AWS Glue développeur.
+ Annulez et recréez la table dans Athena.
+ Utilisez le SDK, la CLI ou AWS Glue la console pour mettre à jour manuellement le schéma dans AWS Glue.

Notez que les fonctionnalités suivantes nécessitent que votre AWS Glue schéma ait toujours le même schéma que le journal des transactions :
+ Lake Formation
+ Vues
+ Filtres de lignes et de colonnes

Si votre flux de travail ne nécessite aucune de ces fonctionnalités et que vous préférez ne pas conserver cette compatibilité, vous pouvez utiliser le `CREATE TABLE` DDL dans Athena, puis ajouter le chemin Amazon S3 en SerDe tant que paramètre. AWS Glue

## Créez une table Delta Lake à l'aide de l'Athena et des consoles AWS Glue
<a name="delta-lake-tables-syncing-metadata-console"></a>

Vous pouvez utiliser la procédure suivante pour créer une table Delta Lake avec l'Athena et AWS Glue les consoles.

**Pour créer une table Delta Lake à l'aide de l'Athena et des consoles AWS Glue**

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

1. Dans l'éditeur de requêtes Athena, utilisez l'instruction DDL suivante pour créer votre table Delta Lake. Notez que lorsque vous utilisez cette méthode, la valeur de `TBLPROPERTIES` doit être `'spark.sql.sources.provider' = 'delta'` et non `'table_type' = 'delta'`.

   Notez que ce même schéma (avec une seule colonne nommée `col` de type `array<string>`) est inséré lorsque vous utilisez Apache Spark (Athena pour Apache Spark) ou la plupart des autres moteurs pour créer votre table.

   ```
   CREATE EXTERNAL TABLE
      [db_name.]table_name(col array<string>)
      LOCATION 's3://amzn-s3-demo-bucket/{{your-folder}}/'
      TBLPROPERTIES ('spark.sql.sources.provider' = 'delta')
   ```

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

1. Dans le panneau de navigation, choisissez **Catalogue de données**, **Tables**.

1. Dans la liste des tables, choisissez le lien correspondant à votre table.

1. Sur la page de la table, choisissez **Actions**, **Modifier la table**.

1. Dans la section **Paramètres Serde**, ajoutez la clé **path** avec la valeur **s3://amzn-s3-demo-bucket/{{your-folder}}/**.

1. Choisissez **Enregistrer**.

## Créez une table Delta Lake à l'aide du AWS CLI
<a name="delta-lake-tables-syncing-metadata-cli"></a>

Pour créer une table Delta Lake à l'aide de AWS CLI, entrez une commande comme celle-ci.

```
aws glue create-table --database-name dbname \
    --table-input '{"Name" : "tablename", "StorageDescriptor":{
            "Columns" : [
                {
                    "Name": "col",
                    "Type": "array<string>"
                }
            ],
            "Location" : "s3://{{amzn-s3-demo-bucket}}/{{<prefix>}}/",
            "SerdeInfo" : {
                "Parameters" : {
                    "serialization.format" : "1",
                    "path" : "s3://{{amzn-s3-demo-bucket}}/{{<prefix>}}/"
                }
            }
        },
        "PartitionKeys": [],
        "TableType": "EXTERNAL_TABLE",
        "Parameters": {
            "EXTERNAL": "TRUE",
            "spark.sql.sources.provider": "delta"
        }
    }'
```