Flink on Hudi作业参数规则
Flink作业参数配置规范
Flink作业参数配置规范如下表所示。
参数名称 | 是否必填 | 参数描述 | 建议值 |
|---|---|---|---|
-c | 必填 | 指定主类名。 | 根据实际情况而定 |
-ynm | 必填 | Flink Yarn作业名称。 | 根据实际情况而定 |
execution.checkpointing.interval | 必填 | Checkpoint触发间隔(毫秒),通过-yD添加,单位毫秒。 | 60000 |
execution.checkpointing.timeout | 必填 | Checkpoint超时时长,通过-yD添加,默认值为30min。 | 30min |
parallelism.default | 选填 | 作业并行度,例如join算子,通过-yD添加,默认值为1。 | 根据实际情况而定 |
table.exec.state.ttl | 必填 | Flink状态ttl(join ttl),通过-yD添加,默认值为0。 | 根据实际情况而定 |
Checkpoint间隔时长大于Checkpoint执行时长
Checkpoint执行时长和Checkpoint的数据量相关,数据量越大实行耗时越大
Checkpoint超时时长大于Checkpoint间隔时长
Checkpoint间隔时长是指多长时间触发一次Checkpoint操作,启动Checkpoint后执行时长超过Checkpoint超时时长会导致作业失败。
CDC场景下Hudi读写表需要开启Changelog
CDC场景下为保障Flink计算的准确,需要在Hudi表中保留+I、+U、-U、-D。所以同一个Hudi表在写入、流读时都需要开启Changelog。

Flink CDC写Hudi mor表场景,选择方式二:表服务与写任务分开执行。同时,由于CDC场景会开启changelog,需要在异步表服务脚本中添加“set hoodie.allow.operation.metadata.field =true”。

