我为Hudi CDC编写的AWS Glue作业在一个预组合字段的列上失败了(请参阅下面的错误消息)。我已经验证了这个列上没有空值(它有一个后更新触发器和默认的NOW() set)。当我使用spark查询拼花文件时,唯一显示NULL的记录是用DELETE操作('op')标记的记录。据我所知,Hudi只在DELETE操作上传输主键,而没有其他任何内容。
为什么Hudi在DELETE操作中使用NULL值的预组合失败?我怎么才能解决这个问题?我错过了一个选择还是什么?任何帮助都是非常感谢的。
错误消息:
2022-06-06 19:05:13,633错误执行器任务启动工人,用于第46.0阶段(TID 264)中的任务2.0 (TID 264) executor.Executor (Logging.scala:logError(94)):阶段46.0中任务2.0中的异常(TID264) org.apache.hudi.exception.HoodieException: last_modified_date的值不能为空
Hudi选项:
options = {
"hoodie_overrides": {
"hoodie.datasource.write.recordkey.field": "id",
"hoodie.datasource.write.precombine.field": "last_modified_date",
"hoodie.datasource.hive_sync.partition_extractor_class": "org.apache.hudi.hive.NonPartitionedExtractor",
"hoodie.datasource.write.keygenerator.class": "org.apache.hudi.keygen.NonpartitionedKeyGenerator",
"hoodie.datasource.hive_sync.support_timestamp": "true",
}
}对地板文件的火花查询:

发布于 2022-07-09 13:02:22
https://stackoverflow.com/questions/72522618
复制相似问题