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

3phpmpom  于 2022-11-05  发布在  Hive
关注(0)|答案(1)|浏览(205)

我正在使用运行在EMR集群6.3.1中Spark引擎上的Hive查询Hudi表
胡迪版本为0.7
我已经插入了一些记录,然后在读取时使用Hudi合并更新了相同的记录。这将在同一分区下使用更新的数据/记录在内部创建新文件。
现在,当我使用Spark SQL查询同一个表时,它运行良好,不会返回任何重复项。基本上,它只处理最新的记录/ parquet 文件。当我使用Tez作为Hive的底层引擎时,它也运行良好。
但是,当我使用Spark作为底层执行引擎在Hive提示符上运行相同的查询时,它返回所有记录,并且不过滤以前的parquet文件。
尝试设置属性spark.sql.hive.convertMetastoreParquet=false,但仍然无效。
请帮帮忙。

nue99wik

nue99wik1#

这是胡迪中的已知问题。
尽管如此,使用下面的属性,我还是能够删除RO(读取优化)Hudi表中的重复项。RT表(真实的)中的问题仍然存在。

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

相关问题