常见问题

本文汇总了Hudi使用时的常见问题。

Spark查询Hudi数据重复,如何处理?

  • 问题原因:出现Spark查询hudi数据重复,通常是因为Hudi不支持Spark DataSource方式读取导致的。

  • 解决方法:您需要在执行查询Hudi表的命令时,添加上spark.sql.hive.convertMetastoreParquet=false

Hive查询Hudi数据重复,如何处理?

  • 问题原因:Hive默认使用HiveCombineInputFormat不会调用表自定义的input format

  • 解决方法:您需要在执行查询Hudi表的命令时,添加上set hive.input.format = org.apache.hudi.hadoop.hive.HoodieCombineHiveInputFormat

Spark查询Hudi表分区裁剪不生效?

  • 问题原因:可能是在分区字段包含/(正斜线)的情况下,分区字段个数和实际分区目录级数不一致,导致Spark分区裁剪失效。

  • 解决方法:您在使用Spark DataFrame API写Hudi表时,需要加上hoodie.datasource.write.partitionpath.urlencode= true

使用Spark的alter table语句时,报错xxx is only supported with v2 tables,如何处理?

  • 问题原因:这是因为使用Hudi Spark的模式演变功能时,需要将Hudi的配置项hoodie.schema.on.read.enable设置为true。

  • 解决方法:请在对Hudi表进行alter table操作时添加配置set hoodie.schema.on.read.enable=true。更多详细信息请参考Apache Hudi的SparkSQL Schema Evolution and Syntax Description