Sélectionner vos préférences de cookies

Nous utilisons des cookies essentiels et des outils similaires qui sont nécessaires au fonctionnement de notre site et à la fourniture de nos services. Nous utilisons des cookies de performance pour collecter des statistiques anonymes afin de comprendre comment les clients utilisent notre site et d’apporter des améliorations. Les cookies essentiels ne peuvent pas être désactivés, mais vous pouvez cliquer sur « Personnaliser » ou « Refuser » pour refuser les cookies de performance.

Si vous êtes d’accord, AWS et les tiers approuvés utiliseront également des cookies pour fournir des fonctionnalités utiles au site, mémoriser vos préférences et afficher du contenu pertinent, y compris des publicités pertinentes. Pour accepter ou refuser tous les cookies non essentiels, cliquez sur « Accepter » ou « Refuser ». Pour effectuer des choix plus détaillés, cliquez sur « Personnaliser ».

Interrogez les tables Apache Iceberg

Mode de mise au point
Interrogez les tables Apache Iceberg - 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.

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.

Vous pouvez utiliser Athena pour effectuer des requêtes de lecture, de voyage dans le temps, d'écriture et DDL sur des tables Apache Iceberg. Les tables Iceberg doivent utiliser le format Apache Parquet pour les données et le AWS Glue catalogue pour leur métastore.

Apache Iceberg est un format de table ouvert pour les jeux de données analytiques très volumineux. Iceberg gère de vastes collections de fichiers sous forme de tables et prend en charge les opérations modernes de lac de données analytiques telles que les requêtes d'insertion, de mise à jour, de suppression et Time Travel au niveau des enregistrements. La spécification Iceberg permet une évolution transparente des tables, comme l'évolution des schémas et des partitions, et est conçue pour une utilisation optimisée sur Amazon S3. Iceberg contribue également à garantir l'exactitude des données dans des scénarios d'écriture simultanés.

Pour plus d’informations sur Apache Iceberg, consultez https://iceberg.apache.org/.

Considérations et restrictions

La prise en charge par Athena des tables Iceberg comporte les considérations et limites suivantes :

  • Support de version Iceberg — Athena prend en charge la version 1.4.2 d'Apache Iceberg.

  • Tables avec AWS Glue catalogue uniquement : seules les tables Iceberg créées à partir du AWS Glue catalogue sur la base des spécifications définies par l'implémentation du catalogue Glue open source sont prises en charge par Athena.

  • Support de verrouillage des tables AWS Glue uniquement : contrairement à l'implémentation du catalogue open source Glue, qui prend en charge le verrouillage personnalisé par plug-in, Athena prend uniquement en charge le verrouillage AWS Glue optimiste. L'utilisation d'Athena pour modifier une table Iceberg avec n'importe quelle autre implémentation de verrouillage entraînera une perte de données potentielle et interrompra les transactions.

  • Formats de fichiers pris en charge — La version 3 du moteur Athena prend en charge les formats de fichiers Iceberg suivants.

    • Parquet

    • ORC

    • Avro

  • Métadonnées restreintes aux icebergs — Lake Formation n'évalue pas les tables de métadonnées des icebergs. Par conséquent, les tables de métadonnées Iceberg sont restreintes si des filtres de lignes ou de cellules de Lake Formation sont présents dans la table de base ou si vous n'êtes pas autorisé à afficher toutes les colonnes de la table de base. Dans de tels cas, lorsque vous interrogez les tables de métadonnées $partitions $files$manifests,, et $snapshots Iceberg, cela échoue et vous obtenez une AccessDeniedException erreur. En outre, la colonne de métadonnées $path présente les mêmes restrictions relatives à la Lake Formation et échoue lorsqu'elle est sélectionnée par la requête. Toutes les autres tables de métadonnées peuvent être consultées indépendamment des filtres Lake Formation. Pour plus d'informations, consultez la section Tables de métadonnées.

  • Tables Iceberg v2 : Athena ne crée et n'opère que sur des tables Iceberg v2. Pour connaître la différence entre les tables v1 et v2, consultez la section Modifications de version de format dans la documentation Apache Iceberg.

  • Affichage des types horaires sans fuseau horaire – L'heure et l'horodatage sans types de fuseau horaire sont affichés en UTC. Si le fuseau horaire n'est pas spécifié dans une expression de filtre sur une colonne de temps, UTC est utilisé.

  • Précision des données liées à l'horodatage – Bien qu'Iceberg prenne en charge la précision à la microseconde pour le type de données d'horodatage, Athena ne prend en charge que la précision à la milliseconde pour les horodatages, tant en lecture qu'en écriture. Pour les données contenues dans les colonnes liées au temps réécrites lors des opérations de compactage manuel, Athena conserve uniquement la précision a la milliseconde.

  • Opérations non prises en charge : les opérations Athena suivantes ne sont pas prises en charge pour les tables Iceberg.

  • Vues – Utiliser CREATE VIEW pour créer des vues Athena comme décrit dans Travaillez avec des vues. Si vous souhaitez utiliser la spécification de vue Iceberg pour créer des vues, contactez athena-feedback@amazon.com.

  • Les commandes de gestion TTF ne sont pas prises en charge dans AWS Lake Formation — Bien que vous puissiez utiliser Lake Formation pour gérer les autorisations d'accès en lecture pour des TransactionTable formats (TTFs) tels qu'Apache Iceberg, Apache Hudi et Linux Foundation Delta Lake, vous ne pouvez pas utiliser Lake Formation pour gérer les autorisations pour des opérations telles que VACUUM UPDATE ou OPTIMIZE avec ces formats de table. MERGE Pour plus d'informations sur l'intégration de Lake Formation à Athena, consultez la section Utilisation AWS Lake Formation avec Amazon Athena dans AWS Lake Formation le manuel du développeur.

  • Partitionnement par champs imbriqués – Le partitionnement par champs imbriqués n'est pas pris en charge. Cette tentative produit le message NOT_SUPPORTED : Le partitionnement par champ imbriqué n'est pas pris en charge :. column_name nested_field_name.

  • Omission d'objets S3 Glacier non prise en charge : si les objets de la table Apache Iceberg appartiennent à une classe de stockage Amazon S3 Glacier, la définition de la propriété de la 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.

Si vous souhaitez qu'Athena prenne en charge une fonction particulière, envoyez vos commentaires à l'adresse athena-feedback@amazon.com.

Sur cette page

ConfidentialitéConditions d'utilisation du sitePréférences de cookies
© 2025, Amazon Web Services, Inc. ou ses affiliés. Tous droits réservés.