0

我是 Apache Hudi 的新手。

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

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

谢谢。

4

1 回答 1

0

编写时可以使用以下 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 执行合并操作

如果有帮助,请告诉我。

于 2021-07-01T18:04:18.907 回答