关于 Hudi 元数据字段(_hoodie_前缀)在 ODS 层进入 DWD 层时是否需要手动删除的请教?

各位大佬好,

小弟最近在使用 Apache Hudi + Spark (Scala) 开发一个大数据项目,目前正在编写从 ODS 层 抽取数据到 DWD 层 的 ETL 程序。

在实际操作中,我发现通过 Spark 读取 ODS 层的 Hudi 表时,DataFrame 中会自动带入 Hudi 生成的元数据字段,比如:

_hoodie_commit_time

_hoodie_record_key

_hoodie_partition_path 等等。

现在我准备将处理后的数据写入 DWD 层的 Hudi 表,想请教一下大家:

在写入 DWD 表之前,是否有必要手动 drop 掉这些以 hoodie 开头的元数据字段?

我目前的困惑点在于:

如果保留这些字段直接写入 DWD,会不会导致新表的元数据混乱(比如新表误用了旧表的 commit time)?

生产环境中,标准的做法通常是先进行 select 业务字段过滤,还是直接带进去由 Hudi 自动覆盖?

如果不删除,在 DWD 层进行查询时,这些冗余的旧元数据字段是否会影响数据分析的准确性?

希望有经验的大佬能指点一下最佳实践。非常感谢大家的帮助!

之前一直是正常抽取,好像没什么问题,只是最近看到有人在ods -> dwd的时候看见会删除hoodie字段