配置目标端数据信息
概述
本节主要提供数据集成任务目标端信息的配置说明。目标端信息用于告诉ROMA Connect如何将待集成的数据写入到目标端,包括数据源、数据存储信息等。对于不同的数据源类型,其目标端信息配置有所差异。
数据迁移过程中若目标端数据存在主键冲突,则根据主键自动更新数据。
API
参数 |
配置说明 |
---|---|
请求参数 |
构造API请求的参数定义,例如要集成到目标端的数据,需要在Body中携带。请根据API数据源的定义如实填写。
|
数据根字段 |
发送到目标端的JSON格式Body消息体中,参数字段集上层公共字段的路径。“数据根字段”与“请求参数”中配置的Body参数组成发给目标端API的Body消息体。 例如Body参数为:{"c":"xx","d":"xx"},数据根字段定义a.b,则封装后的请求数据为{"a":{"b":{"c":"xx","d":"xx"}}}。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
Body参数配置说明:
- form-data方式:
“键”填写为API数据源定义的Body参数名称,“键”的值设置为空。“键”在Mapping信息中作为“目标字段名”,以此映射和传递源端字段的值。
图1 form-data方式
- raw方式:
raw方式持JSON、Array和嵌套JSON格式。填写发送给目标端API的JSON格式Body示例,ROMA Connect根据示例以及Mapping映射配置,替换示例中参数的值,最终将源端数据传递给目标端。raw方式的Body示例如下。
- JSON格式:
{ "id": 1, "name": "name1" }
Body填写JSON,数据根字段无需写值,Mapping信息填写字段名。
- Array格式:
{ "record":[ { "id": 1, "name": "" } ] }
数据根字段写入JSONArray对象名,例如:record。Mapping信息填写字段名。
- 嵌套JSON格式:
{ "startDate":"", "record":[ { "id": 1, "name": "" } ] }
数据根字段无需填写值,Mapping信息中,json字段直接填写字段名,jsonArray中的字段填写具体路径,例如:record[0].id
- JSON格式:
ActiveMQ
参数 |
配置说明 |
---|---|
目标端类型 |
选择ActiveMQ数据源的消息传递模型,可选择“Topic”和“Queue”。 |
目标端名称 |
填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。 |
元数据 |
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
|
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d,元素c和d为底层数据元素。
此场景下,元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。
{ "a": { "b": { "c": "xx", "d": "xx" } } }
- JSON格式数据中含数组
如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
以上面JSON格式数据中不含数组的样例为例,目标端为ActiveMQ的配置示例如下图所示。
ArtemisMQ
参数 |
配置说明 |
---|---|
目标端类型 |
选择ArtemisMQ数据源的消息传递模型,可选择“Topic”和“Queue”。 |
目标端名称 |
填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。 |
扩展元数据 |
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
|
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d,元素c和d为底层数据元素。
此场景下,元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。
{ "a": { "b": { "c": "xx", "d": "xx" } } }
- JSON格式数据中含数组
如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
目标端为ArtemisMQ的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。
DB2
参数 |
配置说明 |
---|---|
目标端表 |
选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据列字段。 |
批次号字段 |
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 |
批次号格式 |
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
DWS
参数 |
配置说明 |
---|---|
目标端表 |
选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据表字段。 |
批次号字段 |
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 |
批次号格式 |
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
Kafka
参数 |
配置说明 |
---|---|
Topic名称 |
选择要写入数据的Topic名称。 |
Key |
填写消息的Key值,表示消息存储在指定分区,可以当成有序消息队列使用。如果Key为空,则消息分布式存储在不同的消息分区。 |
元数据 |
定义写入到目标端Kafka消息的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
|
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
目标端为Kafka的配置示例如下图所示,id、name和info为要写入到Kafka数据源的数据字段。
写入Kafka的消息内容结构为{"id":"xx", "name":"yy", "info":"zz"},其中xx、yy、zz为从源端传入的数据值。
MySQL
参数 |
配置说明 |
---|---|
目标端表 |
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。 |
批次号字段 |
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 |
批次号格式 |
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
MongoDB
参数 |
配置说明 |
---|---|
目标表 |
选择MongoDB数据源中要写入数据的数据集合(数据集合相当于关系型数据库的数据表)。选择数据集合后,单击“选择集合字段”,可以选择只需要写入的数据列字段。 |
是否upsert |
写入目标端的数据是否进行更新插入,即是否在目标端数据集合中直接更新已有数据字段。 |
Upsert键 |
仅当“是否upsert”选择开启时需要配置。 选择要更新插入的数据字段。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
OBS
参数 |
配置说明 |
---|---|
对象类型 |
选择写入OBS数据源的数据文件类型,当前支持“文本文件”和“二进制文件”。 |
编码方式 |
仅当“对象类型”选择“文本文件”时需要配置。 选择写入OBS数据源的数据文件编码方式,可选择“UTF-8”和“GBK”。 |
Path |
填写数据要写入OBS数据源的对象名。Path的值不能以斜杠(/)结尾。 |
文件名前缀 |
填写文件名前缀,与“时间格式”配合使用,用于定义写入OBS数据源的文件名称。 |
时间格式 |
选择文件名中的时间格式,与“文件名前缀”配合使用,用于定义数据写入OBS数据源的文件名称。 |
文件类型 |
选择写入OBS数据源的数据文件格式,文本文件支持txt和csv格式,二进制文件支持xls和xlsx格式。 |
高级属性 |
仅当“文件类型”选择“csv”时需要配置。 选择是否配置文件的高级属性。 |
换行符 |
仅当“高级属性”选择“是”时需要配置。 填写文件内容的换行符,用于区分文件中的不同数据行。 |
使用包围符 |
仅当“高级属性”选择“是”时需要配置。 若选择“是”,则数据文件中的每个数据字段都会用双引号(")包围。若数据字段中存在与分隔符、换行符相同的符号时,可以避免字段被错误的拆分为2个字段。例如源数据中有1个数据字段aa|bb,在集成到目标数据文件时设置了|为分隔符,如果选择使用包围符,则目标数据文件中该字段为"aa|bb",不会被拆分为aa和bb两个字段。 |
字段分隔符 |
仅当“文件类型”选择“txt”或者“高级属性”选择“是”时需要配置。 填写文件内容的字段分隔符,用于区分每行数据中的不同字段。 |
是否添加文件头 |
选择是否为写入的数据文件添加文件头。文件头为添加在文件中的首行或者开头若干行信息,帮助识别和区分文件内容。 |
文件头 |
仅当“是否添加文件头”选择“是”时需要配置。 填写文件头的内容信息,多个文件头信息需要用英文逗号(,)隔开。 |
元数据 |
定义写入到目标端文件的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
|
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
目标端为OBS的配置示例如下图所示,id、name和info为要写入到OBS数据源的数据字段。
Oracle
参数 |
配置说明 |
---|---|
目标端表 |
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。 |
批次号字段 |
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 |
批次号格式 |
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
Oracle数据源作为目标端时,主键字段对应的源端字段如果为空,该条记录会默认抛弃,不会产生调度日志错误码。
PostgreSQL
参数 |
配置说明 |
---|---|
是否自动建表 |
选择是否自动创建新的数据表。 |
目标表名称 |
仅当“是否自动建表”开启时显示。 填写自动建表的表名称。 |
目标端表 |
仅当“是否自动建表”关闭时显示。 选择待集成数据要写入的数据表,单击“选择表字段”,可以选择只需要集成的数据列字段。 |
批次号字段 |
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 |
批次号格式 |
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
RabbitMQ
参数 |
配置说明 |
---|---|
是否创建新队列 |
选择是否在源端RabbitMQ数据源创建一个新队列。
|
交换方式 |
选择RabbitMQ数据源中,交换器将消息转发到队列的路由方式。若“是否创建新队列”选择“是”,则选择新队列的交换方式;若“是否创建新队列”选择“否”,则选择已有目标队列一致的交换方式。
|
交换机名称 |
填写RabbitMQ数据源的交换器名称。若“是否创建新队列”选择“是”,则配置新队列的交换器名称;若“是否创建新队列”选择“否”,则配置已有目标队列一致的交换器名称。 |
路由关键字 |
仅当“交换方式”选择“Direct”或“Topic”时需要配置。 RabbitMQ把路由关键字作为判断条件,符合条件的消息将转发到队列。若“是否创建新队列”选择“是”,则配置新队列的路由关键字;若“是否创建新队列”选择“否”,则配置已有目标队列一致的路由关键字。 |
消息参数 |
仅当“交换方式”选择“Headers”时需要配置。 RabbitMQ把Headers作为判断条件,符合条件的消息将转发到新队列。若“是否创建新队列”选择“是”,则配置新队列的Headers键值对;若“是否创建新队列”选择“否”,则配置已有目标队列一致的Headers键值对。 |
队列名称 |
仅当“是否创建新队列”选择“是”时需要配置。 填写新队列的名称,自定义。 |
自动删除 |
当没有客户端连接队列时,队列是否自动删除。 |
持久化 |
队列中的消息是否持久化保存。 |
元数据 |
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
|
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d,元素c和d为底层数据元素。
此场景下,元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。
{ "a": { "b": { "c": "xx", "d": "xx" } } }
- JSON格式数据中含数组
如以下写入目标端的JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
以上面JSON格式数据中不含数组的样例为例,目标端为RabbitMQ的配置示例如下图所示。
SQL Server
参数 |
配置说明 |
---|---|
目标端表 |
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。 |
批次号字段 |
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 |
批次号格式 |
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 |
映射规则 |
配置ROMA Connect源端数据字段到目标端数据字段的映射规则,把获取到的源端数据转换成写入目标端的数据。具体映射说明参见配置映射规则。
|