类型 | 版本 |
Iceberg | 0.13.1+ |
参数 | 说明 |
数据去向 | 选择需要同步的目标数据源。 |
写入模式 | Upsert:更新写入。当主键不冲突时,可插入新行;当主键冲突时,则进行更新。适用于目标表有主键且需要根据源端数据实时更新的场景。会有一定的性能损耗 。Upsert 写入模式仅支持 Iceberg V2 表,且必须有唯一键。 Append:追加写入。无论是否有主键,以插入新行的方式追加写入数据,是否存在主键冲突取决于目标端。适用于无主键且允许数据重复的场景。无性能损耗。 全量 Append + 增量 Upsert:根据源端数据同步阶段自动切换数据写入方式,全量阶段采用 Append 写入提高性能,增量阶段采用 Upsert 写入进行数据实时更新 |
库表匹配策略 | Iceberg 中数据库以及数据表对象的名称匹配规则: 默认与来源库/来源表同名。 自定义:支持使用内置参数和字符串组合生成目标库表名称。 说明: 示例:如来源表名称为 table1,映射规则为 ${table_name_di_src}_inlong,则 table1 的数据将被最终映射写入至 table1_inlong 中。 系统将按匹配规则进行目标库/表匹配: 若 Iceberg 目标端不存在匹配到的库/表,则进行自动建库/建表。 若 Iceberg 目标端已存在匹配到的库/表,则不自动建库/建表,默认用已存在的库/表。 |
高级设置 | 可根据业务需求配置参数。 |
参数 | 说明 |
数据去向 | 需要写入的 Iceberg 数据源。 |
库 | 支持选择、或者手动输入需写入的库名称。 默认将数据源绑定的数据库作为默认库,其他数据库需手动输入库名称。 当数据源网络不联通导致无法直接拉取库信息时,可手动输入数据库名称。在数据集成网络连通的情况下,仍可进行数据同步。 |
表 | 支持选择、或者手动输入需写入的表名称。 当数据源网络不联通导致无法直接拉取表信息时,可手动输入表名称。在数据集成网络连通的情况下,仍可进行数据同步。 |
一键建立目标表 | 来源端为 MySQL、TDSQL-C MySQL、TDSQL MySQL、Oracle、PostgreQL、Oceanbase、达梦时,支持根据源表结构一键创建 Iceberg 目标表。 |
写入模式 | Upsert:更新写入。当主键不冲突时,可插入新行;当主键冲突时,则进行更新。适用于目标表有主键且需要根据源端数据实时更新的场景。会有一定的性能损耗。仅支持 Iceberg V2 表,且必须有唯一键。 Append:追加写入。无论是否有主键,以插入新行的方式追加写入数据,是否存在主键冲突取决于目标端。适用于无主键且允许数据重复的场景。无性能损耗。 |
唯一键 | Upsert 写入模式下,需设置唯一键保证数据有序性,支持多选。 |
高级设置 | 可根据业务需求配置参数。 |
参数 | 说明 |
数据源 | 选择当前项目中可用的 Iceberg 数据源。 |
库/表 | 选择该数据源中对应的库表。 |
写入模式 | Iceberg 支持两种写入模式: Append:追加写入。 Upsert:以 Upsert 方式插入消息,设置后消息仅只能被消费端处理一次以保证 Exactly-Once。 |
唯一键 | Upsert 写入模式下,需设置唯一键保证数据有序性,支持多选,Append 模式则不需要设置唯一键。 |
高级设置(可选) | 可根据业务需求配置参数。 |
内部类型 | Iceberg 类型 |
CHAR | STRING |
VARCHAR | STRING |
STRING | STRING |
BOOLEAN | BOOLEAN |
BINARY | FIXED(L) |
VARBINARY | BINARY |
DECIMAL | DECIMAL(P,S) |
TINYINT | INT |
SMALLINT | INT |
INTEGER | INT |
BIGINT | LONG |
FLOAT | FLOAT |
DOUBLE | DOUBLE |
DATE | DATE |
TIME | TIME |
TIMESTAMP | TIMESTAMP |
TIMESTAMP_LTZ | TIMESTAMPTZ |
INTERVAL | - |
ARRAY | LIST |
MULTISET | MAP |
MAP | MAP |
ROW | STRUCT |
RAW | - |
本页内容是否解决了您的问题?