Apache Hudi 如何异步合并增量?

问题描述

我是 Apache Hudi 的新手。

在 Apache Hudi 中,合并读取表类型异步合并增量数据。 当查询数据或满足合并配置(间隔或未合并提交计数)时合并。

但是 Hudi 没有自己的后台进程,否则 Hive。 Hudi如何合并数据?

谢谢。

解决方法

您可以在编写时使用以下 hudi 选项:

hudi_options = {
  "hoodie.table.name": "<YOUR TABLE NAME>","hoodie.datasource.write.table.type": "MERGE_ON_READ","hoodie.datasource.write.recordkey.field": "<YOUR UNIQUE KEY>","hoodie.datasource.write.precombine.field": "<YOUR PRECOMBINE FIELD>","hoodie.datasource.write.hive_style_partitioning": "true","hoodie.index.type": "BLOOM","hoodie.bloom.index.filter.type": "DYNAMIC_V0","hoodie.compact.inline": "true","hoodie.compact.inline.max.delta.commits": 10 <YOU CAN PROVIDE SEP VAL BASED ON YOUR NEED>
}
inputDF.write.format('org.apache.hudi').option('hoodie.datasource.write.operation','upsert').options(**hudi_options).mode('append').save('<YOUR OUTPUTPATH>')

hoodie.compact.inline'hoodie.compact.inline.max.delta.commits' 帮助 hudi 执行合并。一旦hoodie.compact.inline.max.delta.commits中提到的值到达hudi执行合并操作

如果有帮助,请告诉我。