
# Flink on Hudi作业参数规则
#### Flink作业参数配置规范
Flink作业参数配置规范如下表所示。
表1Flink作业参数配置规范 
| **参数名称**                         | **是否必填** | **参数描述**                            | **建议值**  |
|:---|:---|:---|:---|
| -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。
![](https://support.huaweicloud.com/devg-rule-mrs/public_sys-resources/caution_3.0-zh-cn.png)
Flink CDC写Hudi mor表场景，选择[方式二：表服务与写任务分开执行](https://support.huaweicloud.com/devg-rule-mrs/mrs_07_450207.html#mrs_07_450207__section1695619343438)。同时，由于CDC场景会开启changelog，需要在异步表服务脚本中添加"set hoodie.allow.operation.metadata.field = true"。
