更新时间:2026-07-13 GMT+08:00
分享

配置MRS Hudi目的端参数

作业中目的连接为MRS Hudi连接时,目的端作业参数如表1所示。

表1 MRS Hudi作为目的端时的作业参数

参数类型

参数名

说明

取值样例

基本参数

目的连接名称

选择已配置的MRS Hudi连接。

hudi_to_cdm

数据库名称

输入或选择写入数据的数据库名称。单击输入框后面的按钮可进入数据库选择界面。

dbadmin

表名

单击输入框后面的按钮可进入表的选择界面。

该参数支持配置为时间宏变量,且一个路径名中可以有多个宏定义变量。使用时间宏变量和定时任务配合,可以实现定期同步新增数据,详细说明请参见使用时间宏变量完成增量同步

说明:

如果配置了时间宏变量,通过DataArts Studio数据开发调度CDM迁移作业时,系统会将时间宏变量替换为“数据开发作业计划启动时间-偏移量”,而不是“CDM作业实际启动时间-偏移量”。

cdm

compaction模式

配置Compaction的执行方式,此参数仅对MOR表生效。

  • 异步Compaction:数据写入Hudi后仅生成Compaction执行计划,不执行Clean与Archive,需要配合异步Compaction脚本使用。
  • 同步Compaction:数据写入Hudi表后立即执行Compaction、Clean、Archive,Compaction过程会增加作业执行时间。

同步Compaction

写入参数

在执行Spark SQL往hudi插入数据前,通过set语法设置参数,从而控制spark的写入行为。

hoodie.compact.inline

自动创表

是否自动创建Hudi表。

  • 不自动创建:不自动建表。
  • 不存在时创建:当目的端的数据库没有“表名”参数中指定的表时,CDM会自动创建该表。如果“表名”参数配置的表已存在,则不创建,数据写入到已存在的表中。

不自动创表

Location

自动创表为不存在时创建时显示该参数。

存储在OBS或HDFS上数据库表的文件路径。

-

Hudi表类型

自动创表为不存在时创建时显示该参数。

Hudi表存储类型。

  • MOR表:数据先写入avro格式的日志文件,读取时合并到parquet文件。
  • COW表:数据直接写入parquet文件。

MOR

Hudi表主键

自动创表为不存在时创建时显示该参数。

对Hudi建表设置主键,多个值以逗号隔开。

-

Hudi表生成器类

自动创表为不存在时创建时显示该参数。

主键生成类型,实现org.apache.hudi.keygen.KeyGenerator从传入记录中提取键值。

-

Hudi表预聚合键

自动创表为不存在时创建时显示该参数。

对Hudi建表设置预聚合键,当两个记录拥有相同的主键时,保留precombine字段值较大的记录。

说明:

如果没有时间字段,可以设置和主键一样的字段,当遇到主键冲突时,保留最新的记录。

ts

Hudi表分区字段

自动创表为不存在时创建时显示该参数。

对Hudi建表设置分区字段,多个值以逗号隔开。

-

Hudi表压缩策略(是否开启写入压缩)

自动创表为不存在时创建时显示该参数。

在线进行压缩,仅对MOR表生效。

Hudi表清除策略(保留提交数)

自动创表为不存在时创建时显示该参数。

清除时保留的提交数。

1

Hudi表归档策略(最小保留提交数)

自动创表为不存在时创建时显示该参数。

归档时保留的最小提交数。

1

Hudi表归档策略(最大保留提交数)

自动创表为不存在时创建时显示该参数。

归档时保留的最大提交数。

100

Hudi表配置

自动创表为不存在时创建时显示该参数。

对Hudi建表设置自定义参数属性,此处填入的参数将会在options中生效。

主键、combineKey、索引

导入前清空数据

选择目的端表中数据的处理方式:

  • 是:任务启动前会清除目标表中数据。
  • 否:导入前不清空目标表中的数据,如果选“否”且表中有数据,则数据会追加到已有的表中。

换行符处理方式

换行符处理方式:

  • 删除
  • 替换为其他字符串
  • 不处理
说明:

2.9.3.300版本默认不处理 ,2.10.0.200版本默认删除。

删除

换行符替换字符串

换行符处理方式为替换为其他字符串时,显示该参数。

指定替换的字符串。

-

运行队列

只有当连接方式为API时,才有该参数。

指定请求参数--queue的值,决定hive任务提交到哪个队列运行。

default

sql执行参数

编写Hudi时,支持Spark参数配置。填入的参数将在请求体中以"--conf"参数形式添加,同时支持Spark Driver和Executor的相关配置参数。

--driver-memory=2G,--executor-memory=2G,--driver-cores=1,--executor-cores=1,--num-executors=2

高级属性

使用入库时间字段

将一个字段标记为入库时间字段,自动建表时将此字段自动加到建表语句中,写入Hudi时将把此字段的值替换为当前时间,不自动建表时选择已经存在的入库时间字段。

入库时间字段名称

“使用入库时间字段”设置为“是”时,呈现此参数。

用于记录写入Hudi的时间。

说明:
  • 对于已存在目的端表中带有入库时间字段的,可以直接使用已有的timestamp类型字段。
  • 对于自动建表的场景,该字段会被拼接到建表语句中,类型为timestamp,该字段名称不能与源端的字段有重复(包括自定义字段)。

cdc_last_update_date

相关文档