我正在使用在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