【问题标题】:Hoodie (Hudi) precombine field failing on NULLHoodie (Hudi) precombine 字段在 NULL 上失败
【发布时间】:2022-07-09 21:02:22
【问题描述】:

我的 Hudi CDC 的 AWS Glue 作业在作为预组合字段的列上失败(请参阅下面的错误消息)。我已验证此列上没有 NULL 值(它有一个 AFTER UPDATE 触发器和一个默认值 NOW() 集)。当我使用 spark 查询 parquet 文件时,唯一显示 NULL 的记录是标记有 DELETE 操作 ('op') 的记录。据我了解,Hudi 仅在 DELETE 操作时传输 PRIMARY KEY,其他什么都没有。

为什么 Hudi 在 DELETE 操作中使用 NULL 值预组合失败?我怎样才能解决这个问题?我错过了一个选项还是什么?非常感谢任何帮助。

错误信息:

2022-06-06 19:05:13,633 错误 [Executor task launch worker for task 阶段 46.0 (TID 264) 中的 2.0] executor.Executor (Logging.scala:logError(94)):阶段 46.0 中的任务 2.0 中的异常(TID 264) 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",
    }
}

parquet 文件的 Spark 查询:

【问题讨论】:

    标签: apache-spark aws-glue cdc apache-hudi hoodie


    【解决方案1】:

    您可以尝试将此配置设置为“false”

    hoodie.combine.before.delete
    

    来源:hoodie.combine.before.delete

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      • 1970-01-01
      • 2015-04-13
      • 2013-10-27
      • 2011-08-15
      相关资源
      最近更新 更多