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.
Synchroniser les métadonnées de Delta Lake
Athena synchronise les métadonnées des tables, notamment le schéma, les colonnes de partition et les propriétés des tables, avec 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 la commande AWS Glue chenille pour tables Delta Lake. Pour plus d'informations, voir Présentation de la prise en charge native des tables Delta Lake avec AWS Glue chenilles
dans le AWS Blog sur le Big Data et planification d'un AWS Glue chenille dans le AWS Glue . -
Annulez et recréez la table dans Athena.
-
Utilisez le SDKCLI, ou AWS Glue console pour mettre à jour manuellement le schéma dans AWS Glue.
Notez que les fonctionnalités suivantes nécessitent votre AWS Glue schéma pour toujours avoir 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 l'utiliser CREATE TABLE
DDL dans Athena, puis ajouter le chemin Amazon S3 en tant SerDe que paramètre dans AWS Glue.
Vous pouvez utiliser la procédure suivante pour créer une table Delta Lake avec l'Athéna et AWS Glue consoles.
Pour créer une table Delta Lake à l'aide d'Athena et AWS Glue consoles
Ouvrez la console à l'adresse https://console.aws.amazon.com/athena/
. -
Dans l'éditeur de requêtes Athena, utilisez ce qui suit DDL 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 typearray<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') Ouvrez le fichier AWS Glue console à https://console.aws.amazon.com/glue/
. -
Dans le panneau de navigation, choisissez Catalogue de données, Tables.
-
Dans la liste des tables, choisissez le lien correspondant à votre table.
-
Sur la page de la table, choisissez Actions, Modifier la table.
-
Dans la section Paramètres Serde, ajoutez la clé
path
avec la valeurs3://amzn-s3-demo-bucket/
.your-folder
/ -
Choisissez Save (Enregistrer).
Pour créer une table Delta Lake à l'aide du 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" } }'