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.
Considérations et restrictions
Lorsque vous utilisez Athena pour lire les tables d'Apache Hudi, tenez compte des points suivants.
-
Requêtes incrémentielles : Athena ne prend pas en charge les requêtes incrémentielles.
-
CTAS — Athena ne prend pas en charge le CTAS INSERT INTO ni les données Hudi. Si vous souhaitez qu'Athena prenne en charge l'écriture des jeux de données Hudi, envoyez vos commentaires à
<athena-feedback@amazon.com>
.Pour plus d'informations sur l'écriture des données Hudi, consultez les ressources suivantes :
-
Utilisation d'un jeu de données Hudi dans le Guide de version Amazon EMR.
-
Écriture de données
dans la documentation d'Apache Hudi.
-
-
TABLE DE RÉPARATION MSCK — L'utilisation de MSCK REPAIR TABLE sur les tables Hudi d'Athena n'est pas prise en charge. Si vous devez charger une table Hudi qui n'a pas été créée dans AWS Glue, utilisezALTER TABLE ADD PARTITION.
-
Omission d'objets S3 Glacier non prise en charge : si les objets de la table Apache Hudi 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. -
Requêtes d'horodatage — Actuellement, les requêtes qui tentent de lire les colonnes d'horodatage dans les tables en temps réel Hudi échouent ou produisent des résultats vides. Cette limitation s'applique uniquement aux requêtes qui lisent une colonne d'horodatage. Les requêtes qui incluent uniquement des colonnes autres que l'horodatage issues de la même table aboutissent.
Les requêtes qui ont échoué renvoient un message similaire au suivant :
GENERIC_INTERNAL_ERROR : classe org.apache.hadoop.io. ArrayWritablene peut pas être converti en classe org.apache.hadoop.hive.serde2.io. TimestampWritableV2 (org.apache.hadoop.io. ArrayWritable et org.apache.hadoop.hive.serde2.io. TimestampWritableLes V2 se trouvent dans un module anonyme du chargeur io.trino.server. PluginClassLoader @75c67992)