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.
Utilisation des tables Apache Iceberg
Athena prend en charge les requêtes de lecture, de voyage dans le temps, d'écriture et DDL pour les tables Apache Iceberg qui utilisent le format Apache Parquet pour les données et le AWS Glue catalogue de leur métastore.
Apache Iceberg
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 fichier pris en charge – La prise en charge des formats de fichier Iceberg dans Athena dépend de la version du moteur Athena, comme indiqué dans le tableau suivant.
Version du moteur Athena Parquet ORC Avro 2 Oui Non Non 3 Oui Oui Oui -
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 Utilisation des vues. Si vous souhaitez utiliser la spécification de vue Icebergpour 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 (TTF) 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
UPDATE
ouOPTIMIZE
avecVACUUM
cesMERGE
formats de table. 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. Toute tentative de ce type génère 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
surfalse
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 commandeALTER TABLE
ne produit pas d'erreur, mais les objets Amazon S3 Glacier ne sont toujours pas ignorés. L'exécution de requêtesSELECT
après la commandeALTER 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
Rubriques
- Création de tables Iceberg
- Gestion des tables Iceberg
- Interrogation des métadonnées d'une table Iceberg
- Schéma évolutif de la table Iceberg
- Interrogation des données de la table et exécution de Time Travel
- Mise à jour des données de la table Iceberg
- Optimisation des tables Iceberg
- Types de données pris en charge pour les tables Iceberg sur Athena
- Autres opérations Athena sur les tables Iceberg
- Ressources supplémentaires