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 :

  • Tableaux avec AWS Glue catalogue uniquement : le support natif de Delta Lake n'est pris en charge que par le biais des tables enregistrées auprès de AWS Glue. Si une table Delta Lake est enregistrée dans un autre métastore, vous pouvez la conserver et la traiter comme votre métastore primaire. 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é location in AWS Glue pour lire vos tables 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 – L'écriture d'instructions DML comme UPDATE, INSERT ou DELETE n'est pas prise en charge.

  • Prise en charge de Lake Formation : l'intégration de Lake Formation est disponible pour les tables Delta Lake dont le schéma est synchronisé avec AWS Glue. Pour plus d'informations, consultez les AWS Lake Formation sections Utilisation avec Amazon Athena et Configuration des autorisations pour une table Delta Lake dans le guide du AWS Lake Formation développeur.

  • Prise en charge limitée de DDL – Les instructions DDL suivantes sont prises en charge : CREATE EXTERNAL TABLE, SHOW COLUMNS, SHOW TBLPROPERTIES, SHOW PARTITIONS, SHOW CREATE TABLE et DESCRIBE. 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 (instructions SELECT) <= 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