Tous les produits
Search
Centre de documentation

E-MapReduce:FAQ

Dernière mise à jour :Aug 09, 2026

Cette rubrique explique comment résoudre les problèmes courants lors de l'interrogation de tables Apache Hudi sur EMR avec Spark et Hive.

Données en double lors de l'interrogation avec Spark

Symptôme : Spark renvoie des enregistrements en double lors de l'interrogation d'une table Hudi.

Cause : La lecture des données Hudi via l'API Spark Data Source n'est pas prise en charge. Elle contourne la logique de fusion de Hudi, ce qui provoque la duplication des données.

Solution : Ajoutez la configuration suivante à votre commande de requête Spark :

spark.sql.hive.convertMetastoreParquet=false

Données en double lors de l'interrogation avec Hive

Symptôme : Hive renvoie des enregistrements en double lors de l'interrogation d'une table Hudi.

Cause : Par défaut, Hive utilise le format HiveCombineInputFormat. Ce format d'entrée ne peut pas appeler le format d'entrée personnalisé d'une table ; la logique de fusion de Hudi est donc ignorée et des enregistrements en double sont renvoyés.

Solution : Ajoutez l'instruction suivante à votre commande de requête Hive :

set hive.input.format = org.apache.hudi.hadoop.hive.HoodieCombineHiveInputFormat

L'élimination des partitions ne fonctionne pas lors de l'interrogation avec Spark

Symptôme : Les requêtes Spark analysent toutes les partitions au lieu de se limiter aux partitions pertinentes.

Cause : Si un nom de champ de partition contient une barre oblique (/), Spark détecte un nombre de niveaux de partition différent de la réalité. Cette incompatibilité empêche l'élimination des partitions de fonctionner correctement.

Solution : Ajoutez la propriété suivante à votre commande d'écriture via l'API DataFrame Spark pour la table Hudi :

hoodie.datasource.write.partitionpath.urlencode= true

Erreur « xxx is only supported with v2 tables » lors de l'exécution d'une instruction ALTER TABLE dans Spark

Symptôme : L'exécution d'une instruction ALTER TABLE sur une table Hudi dans Spark renvoie l'erreur xxx is only supported with v2 tables.

Cause : Le paramètre hoodie.schema.on.read.enable n'est pas défini sur true. La fonctionnalité d'évolution du schéma Hudi-Spark nécessite cette configuration avant que vous ne puissiez exécuter l'instruction ALTER TABLE.

Solution : Ajoutez l'instruction suivante à votre instruction ALTER TABLE :

set hoodie.schema.on.read.enable=true

Pour connaître la syntaxe prise en charge, consultez la section SparkSQL schema evolution and syntax description de la documentation Apache Hudi.