使用EMR 6.3.1中Spark Engine上的Hive查询Hudi表时获取重复记录



我正在使用在EMR集群6.3.1 中的Spark引擎上运行的Hive查询Hudi表

Hudi版本是0.7

我插入了一些记录,然后在读取时使用Hudi Merge更新了相同的记录。这将在同一分区下使用更新的数据/记录在内部创建新文件。

现在,当我使用Spark SQL查询同一个表时,它运行良好,不会返回任何重复项。基本上,它只尊重最新的记录/镶木地板文件进行处理。当我使用Tez作为Hive的底层引擎时,它也能很好地工作。

但是,当我使用Spark作为底层执行引擎在Hive提示符下运行相同的查询时,它会返回所有记录,并且不会过滤以前的拼花文件。

已尝试设置属性spark.sql.hive.convertMetastoreParquet=false,但它不起作用。

请帮忙。

这是Hudi中已知的问题。

尽管如此,使用以下属性,我可以删除RO(读取优化(Hudi表中的重复项。该问题仍然存在于RT表中(实时(。

set hive.input.format=org.apache.hadoop.hive.ql.io.HiveInputFormat

相关内容

  • 没有找到相关文章

最新更新