Consultez les tables de Delta Lake de la Linux Foundation - Amazon Athena

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.

Consultez les tables de Delta Lake de la Linux Foundation

Linux Foundation Delta Lake est un format de table pour l'analytique du big data. Vous pouvez utiliser Amazon Athena pour lire directement les tables Delta  Lake stockées dans Amazon S3 sans avoir à générer de fichiers manifestes ou à exécuter l'instruction MSCK REPAIR.

Le format Delta Lake stocke les valeurs minimales et maximales par colonne de chaque fichier de données. L'implémentation Athena utilise ces informations pour permettre le saut de fichier sur les prédicats afin d'éliminer les fichiers non désirés de la considération.

Considérations et restrictions

L'assistance de Delta Lake à Athena comporte les considérations et limites suivantes :

  • Tables avec AWS Glue catalogue uniquement — Le support natif de Delta Lake n'est pris en charge que par le biais de tables enregistrées auprès de AWS Glue. Si vous avez une table Delta Lake enregistrée auprès d'un autre métastore, vous pouvez toujours la conserver et la traiter comme votre métastore principal. Les métadonnées de Delta Lake étant stockées dans le système de fichiers (par exemple, dans Amazon S3) plutôt que dans le métastore, Athena n'a besoin que de la propriété de localisation dans AWS Glue à lire sur vos tables de Delta Lake.

  • Moteur V3 uniquement – Les requêtes Delta Lake ne sont prises en charge que par la version 3 du moteur Athena. Vous devez vous assurer que le groupe de travail que vous créez est configuré pour utiliser la version 3 du moteur Athena.

  • Pas de prise en charge du voyage dans le temps – Il n'y a pas de prise en charge des requêtes qui utilisent les capacités de voyage dans le temps de Delta Lake.

  • Lecture seule : DML les instructions d'écriture telles que UPDATEINSERT, ou ne DELETE sont pas prises en charge.

  • Support relatif à la formation des lacs — L'intégration des formations lacustres est disponible pour les tables de Delta Lake, leur schéma étant synchronisé avec AWS Glue. Pour plus d'informations, voir Utilisation AWS Lake Formation avec Amazon Athena et configurez les autorisations pour une table Delta Lake dans le AWS Lake Formation Guide du développeur.

  • DDLSupport limité — Les DDL déclarations suivantes sont prises en charge : CREATE EXTERNAL TABLESHOW COLUMNS,SHOW TBLPROPERTIES,SHOW PARTITIONS,SHOW CREATE TABLE, etDESCRIBE. Pour plus d'informations sur l'utilisation de l'instruction CREATE EXTERNAL TABLE, voir la rubrique Mise en route.

  • Omission d'objets S3 Glacier non prise en charge : si les objets de la table Delta Lake de Linux Foundation appartiennent à une classe de stockage Amazon S3 Glacier, la définition de la propriété de table read_restored_glacier_objects sur false n'a aucun effet.

    Par exemple, supposons que vous exécutiez la commande suivante :

    ALTER TABLE table_name SET TBLPROPERTIES ('read_restored_glacier_objects' = 'false')

    Pour les tables Iceberg et Delta Lake, la commande produit l'erreur Unsupported table property key: read_restored_glacier_objects. Pour les tables Hudi, la commande ALTER TABLE ne produit pas d'erreur, mais les objets Amazon S3 Glacier ne sont toujours pas ignorés. L'exécution de requêtes SELECT après la commande ALTER TABLE continue de renvoyer tous les objets.

Versionnage de Delta Lake et Athena

Athena n'utilise pas le versionnement indiqué dans la documentation de Delta Lake. Pour déterminer si vos tables Delta Lake sont compatibles avec Athena, tenez compte des deux caractéristiques suivantes :

  • Version liseuse — Chaque table Delta Lake possède une version liseuse. Actuellement, il s'agit d'un nombre compris entre 1 et 3. Les requêtes qui incluent une table avec une version de lecteur non prise en charge par Athena échoueront.

  • Caractéristiques de la table — Chaque table Delta Lake peut également déclarer un ensemble de fonctionnalités de lecture/écriture. La prise en charge de Delta Lake par Athena étant en lecture seule, la compatibilité des fonctionnalités de création de tableaux ne s'applique pas. Cependant, les requêtes sur des tables dont les fonctionnalités de lecture de table ne sont pas prises en charge échoueront.

Le tableau suivant présente les versions du lecteur Delta Lake et les fonctionnalités du lecteur de table Delta Lake prises en charge par Athena.

Type de requête Versions de lecteur prises en charge Fonctionnalités du lecteur prises en charge
DQL(SELECTdéclarations) <= 3 Mappage de colonnes timestampNtz, vecteurs de suppression
DDL <= 1 Non applicable. Les fonctionnalités du lecteur ne peuvent être déclarées que sur les tables dotées d'une version de lecteur de 2 ou plus.

Pour créer une table Delta Lake dans Athena avec une version de lecteur supérieure à 1, voir. Synchroniser les métadonnées de Delta Lake