配置目标端数据信息
概述
本节主要提供数据集成任务目标端信息的配置说明。目标端信息用于告诉ROMA Connect如何将待集成的数据写入到目标端,包括数据源、数据存储信息等。对于不同的数据源类型,其目标端信息配置有所差异。
数据迁移过程中若目标端数据存在主键冲突,则根据主键自动更新数据。
API
任务的“集成模式”为“定时”或“实时”时,可以选择API作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表1 目标端API信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择API数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“API”。
数据源名称
选择接入数据源中已配置的API数据源。
请求参数
构造API请求的参数定义,例如要集成到目标端的数据,需要在Body中携带。请根据API数据源的定义如实填写。
- Params:请求URL中问号后面定义的参数,只能对参数传递固定值。Params参数的填写跟Body参数的form-data方式类似。
- Headers:RESTful请求的消息头参数,只能对参数传递固定值。Headers参数的填写跟Body参数的form-data方式类似。
- Body:RESTful请求消息体的底层参数,与“数据根字段”组成发给目标端API的Body消息体,源端数据通过Body参数传递到目标端。Body支持“form-data”和“raw”两种形式,具体请参见Body参数配置说明。
数据根字段
发送到目标端的JSON格式Body消息体中,参数字段集上层公共字段的路径。“数据根字段”与“请求参数”中配置的Body参数组成发给目标端API的Body消息体。
例如Body参数为:{"c":"xx","d":"xx"},数据根字段定义a.b,则封装后的请求数据为{"a":{"b":{"c":"xx","d":"xx"}}}。
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作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表2 目标端ActiveMQ信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择ActiveMQ数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“ActiveMQ”。
数据源名称
选择接入数据源中已配置的ActiveMQ数据源。
目标端类型
选择ActiveMQ数据源的消息传递模型,可选择“Topic”和“Queue”。
目标端名称
填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。
元数据
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- 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作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表3 目标端ArtemisMQ信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择ArtemisMQ数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“ArtemisMQ”。
数据源名称
选择接入数据源中已配置的ArtemisMQ数据源。
目标端类型
选择ArtemisMQ数据源的消息传递模型,可选择“Topic”和“Queue”。
目标端名称
填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。
元数据
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- 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
任务的“集成模式”为“定时”或“实时”时,可以选择DB2作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表4 目标端DB2信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择DB2数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“DB2”。
数据源名称
选择接入数据源中已配置的DB2数据源。
目标端表
选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
DWS
任务的“集成模式”为“定时”或“实时”时,可以选择DWS作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表6 目标端DWS信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择DWS数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“DWS”。
数据源名称
选择接入数据源中已配置的DWS数据源。
目标端表
选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据表字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
是否清空表
每次调度任务时是否先清空目标表。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
DM
任务的“集成模式”为“定时”或“实时”时,可以选择DM作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表7 目标端DM信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择DM数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“DM”。
数据源名称
选择接入数据源中已配置的DM数据源。
目标端表
选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
FTP
任务的“集成模式”为“定时”时,可以选择FTP作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表8 目标端FTP信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择FTP数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“FTP”。
数据源名称
选择接入数据源中已配置的FTP数据源。
文件路径
填写FTP服务器中要访问的文件夹路径,例如“/data/FDI”。
文件名前缀
填写文件名前缀,与“文件名后缀”配合使用,用于定义写入FTP数据源的文件名称。
文件名后缀
选择文件名后缀,可选择不同的时间戳格式,与“文件名前缀”配合使用,用于定义写入FTP数据源的文件名称。
文件内容类型
选择要写入数据的数据文件内容类型,可选择“文本文件”和“二进制文件”。
文件类型
选择要写入数据的数据文件格式。当“文件内容类型”选择“文本文件”时,可选择“CSV”和“TXT”;当“文件内容类型”选择“二进制文件”时,可选择“XLS”和“XLSX”。
文件名称字符编码
选择数据文件的名称编码方式。
文件内容字符编码
仅当“文件内容类型”选择“文本文件”时需要配置。
选择数据文件的内容编码方式。
文件分割符
仅当“文件内容类型”选择“文本文件”时需要配置。
填写数据文件中的字段分隔符,用于区分每行数据中的不同字段。默认使用英文逗号分割。
空格格式符
定义数据文件中的空格字符,以便写入数据时使用。
写模式
选择集成数据写入文件的模式。
- Truncate:先删除文件,再重新创建文件并写数据。
- Append:在已有文件中增量写入数据。
是否添加文件头
选择是否添加文件头。
文件头
仅当“是否添加文件头”选择“是”时需要配置。
填写文件头的内容信息,多个文件头信息需要用英文逗号隔开。
元数据
定义写入到目标端文件的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
目标端为FTP的配置示例如下图所示,id、name和info为要写入到FTP数据源的数据字段。
图3 FTP配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
Gauss100
任务的“集成模式”为“定时”或“实时”时,可以选择Gauss100作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表9 目标端Gauss100信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择Gauss100数据源所属的集成应用,在接入数据源时已配置。
目标数据类型
选择“Gauss100”。
数据源名称
选择接入数据源中已配置的Gauss100数据源。
Schema
选择数据源Schema。
目标端表
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
HL7
任务的“集成模式”为“定时”或“实时”时,可以选择HL7作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表10 目标端HL7信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择HL7数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“HL7”。
数据源名称
选择接入数据源中已配置的HL7数据源。
编码方式
选择HL7数据源的数据文件编码方式,可选择“UTF-8”和“GBK”。
消息类型编码
选择待集成数据的消息类型,用于定义消息的目的和用途,需要根据HL7协议的定义进行设置。
触发事件类型
选择该消息类型下的对应事件类型,需要根据HL7协议的定义进行设置。
协议版本号
选择HL7数据源所使用的HL7协议版本号。
元数据
定义写入到目标端的HL7消息数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型。
- 解析路径:元数据在HL7消息中的位置,具体请参见如下的元数据路径配置说明。
元数据路径配置说明:
MSH|^~\\&|hl7Integration|hl7Integration|||||ADT^A01|||2.3| EVN|A01|20191212155644 PID|||PATID1234^5^M11||FN^Patrick^^^MR||19700101|1|||xx Street^^NY^^Ox4DP||||||| NK1|1|FN^John^^^MR|Father||999-9999 NK1|2|MN^Georgie^^^MSS|Mother||999-9999
HL7消息的元数据解析路径需要根据Terser语法规范填写。以上述HL7消息为例,每一行代表一个信息段。每个信息段都是由三个大写字母起始,为信息段的段落符号,用于表明该信息段的内容。每一段内使用分隔符来划分信息段:
- | :字段分隔符,把信息段划分为不同的字段。每个信息段中的字段以数字来标识位置,从1开始(不包括段落符号),以此类推。
- ^:组件分隔符,把字段的内容划分为不同的组件。划分了组件的字段中,组件的位置以数字来标识,从1开始,以此类推。
- ~:子组件分隔符,把组件划分为不同的子组件。
例如,PID信息段中,“19700101”的字段位置为7,则其解析路径为“/PID-7”;“xx Street”的字段位置为11,组件位置为1,则其解析路径为“/PID-11-1”。
对于HL7消息中段落符号相同的信息段,通过在段落符号后添加带括号的数字来标识重复的段落符号。重复的段落符号中 ,第一个为(0),第二个为(1),以此类推。
例如,NK1信息段中,“Father”位于第一个NK1信息段中,字段位置为3,则其解析路径为“NK1(0)-3”;同理,“Mother”的解析路径为“NK1(1)-3”。
以上述HL7消息示例中“19700101”和“xx Street”字段的写入为例,目标端为HL7的配置示例如下图所示。
图4 HL7配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
HANA
任务的“集成模式”为“定时”或“实时”时,可以选择HANA作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表11 目标端HANA信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择HANA数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“HANA”。
数据源名称
选择接入数据源中已配置的HANA数据源。
目标端表
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
IBM MQ
任务的“集成模式”为“定时”或“实时”时,可以选择IBM MQ作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表12 目标端IBM MQ信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择IBM MQ数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“IBM MQ”。
数据源名称
选择接入数据源中已配置的IBM MQ数据源。
目标端类型
选择IBM MQ数据源的消息传递模型,可选择“Topic”和“Queue”。
目标端名称
填写待集成数据要发送到的Topic或Queue名称,请确保该Topic或Queue已存在。
元数据
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- 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" } ] } }
目标端为IBM MQ的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
Kafka
任务的“集成模式”为“定时”或“实时”时,可以选择Kafka作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表13 目标端Kafka信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择Kafka数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“Kafka”。
数据源名称
选择接入数据源中已配置的Kafka数据源。
Topic名称
选择要写入数据的Topic名称。
Key
填写消息的Key值,表示消息存储在指定分区,可以当成有序消息队列使用。如果Key为空,则消息分布式存储在不同的消息分区。
元数据
定义写入到目标端Kafka消息的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
目标端为Kafka的配置示例如下图所示,id、name和info为要写入到Kafka数据源的数据字段。
写入Kafka的消息内容结构为{"id":"xx", "name":"yy", "info":"zz"},其中xx、yy、zz为从源端传入的数据值。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
MySQL
任务的“集成模式”为“定时”或“实时”时,可以选择MySQL作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表14 目标端MySQL信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择MySQL数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“MySQL”。
数据源名称
选择接入数据源中已配置的MySQL数据源。
目标端表
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
是否清空表
开启后,每次调度任务会先清空目标端表。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
MongoDB
任务的“集成模式”为“定时”或“实时”时,可以选择MongoDB作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表15 目标端MongoDB信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择MongoDB数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“MongoDB”。
数据源名称
选择接入数据源中已配置的MongoDB数据源。
选择目标端集合
选择MongoDB数据源中要写入数据的数据集合(数据集合相当于关系型数据库的数据表)。选择数据集合后,单击“选择集合字段”,可以选择只需要写入的数据列字段。
是否upsert
写入目标端的数据是否进行更新插入,即是否在目标端数据集合中直接更新已有数据字段。
Upsert键
仅当“是否upsert”选择开启时需要配置。
选择要更新插入的数据字段。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
MRS Hive
任务的“集成模式”为“定时”或“实时”时,可以选择MRS Hive作为目标端数据源。
- 在创建任务页面中配置目标端信息。
若源端数据字段中带有“\r”、“\n”和“\01”三种特殊符号,ROMA Connect会把这三种符号删除,然后再把数据写入MRS Hive。
表17 目标端MRS Hive信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择MRS Hive数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“MRS Hive”。
数据源名称
选择接入数据源中已配置的MRS Hive数据源。
目标端数据库名
选择待集成数据要写入的数据库。
说明:需要使用自建的数据库,不能使用MRS Hive自带的default数据库。
目标端表
选择待集成数据要写入的数据表。
分隔符
填写MRS Hive数据源中文本数据的字段分隔符,用于区分每行数据中的不同字段。
写模式
选择集成数据写入数据表的模式。
- Truncate:删除目标数据表中的所有数据,然后再写入数据。
- Append:在已有数据表中增量写入数据。
存储类型
选择写入MRS Hive数据源的数据存储类型,可选择“RCFile”和“Text file”。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
MRS HDFS
任务的“集成模式”为“定时”或“实时”时,可以选择MRS HDFS作为目标端数据源。
- 在创建任务页面中配置目标端信息。
若源端数据字段中带有“\r”、“\n”和“\01”三种特殊符号,ROMA Connect会把这三种符号删除,然后再把数据写入MRS HDFS。
表18 目标端MRS HDFS信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择MRS HDFS数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“MRS HDFS”。
数据源名称
选择接入数据源中已配置的MRS HDFS数据源。
分隔符
填写MRS HDFS数据源中文本数据的字段分隔符,用于区分每行数据中的不同字段。
存储子路径
在MRS HDFS的“hdfs:///hacluster”路径下,待集成数据的存储路径。
存储块大小(M)
ROMA Connect向MRS HDFS数据源写入数据时,每次写入的数据大小。
存储类型
选择写入MRS HDFS数据源的数据存储类型,可选择“文本文件”。
元数据
定义写入到目标端文本数据的数据字段,不同数据字段通过“分隔符”进行分隔。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
目标端为MRS HDFS的配置示例如下图所示,id、name和info为要写入到MRS HDFS数据源的数据字段。
图6 MRS HDFS配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
MRS HBase
任务的“集成模式”为“定时”或“实时”时,可以选择MRS HBase作为目标端数据源。
- 在创建任务页面中配置目标端信息。
若源端数据字段中带有“\r”、“\n”和“\01”三种特殊符号,ROMA Connect会把这三种符号删除,然后再把数据写入MRS HBase。
表19 目标端MRS HBase信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择MRS HBase数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“MRS HBase”。
数据源名称
选择接入数据源中已配置的MRS HBase数据源。
目标端表
选择待集成数据要写入的数据表。
列族
定义写入到目标端数据表的数据列字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
字段名:数据列字段的自定义名称。
目标端为MRS HBase的配置示例如下图所示,id、name和info为要写入到MRS HBase数据源的数据字段。
图7 MRS HBase配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
MRS Kafka
任务的“集成模式”为“定时”或“实时”时,可以选择MRS Kafka作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表20 目标端MRS Kafka信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择MRS Kafka数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“MRS Kafka”。
数据源名称
选择接入数据源中已配置的MRS Kafka数据源。
Topic名称
填写用户在MRS Kafka服务已创建的Topic名称,不可随意自定义。
Key
填写消息的Key值,表示消息存储在指定分区,可以当成有序消息队列使用。如果Key为空,则消息分布式存储在不同的消息分区。
元数据
定义写入到目标端Kafka消息的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
目标端为MRS Kafka的配置与Kafka的类似,配置示例可参考Kafka配置示例。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
OBS
任务的“集成模式”为“定时”时,可以选择OBS作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表21 目标端OBS信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择OBS数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“OBS”。
数据源名称
选择接入数据源中已配置的OBS数据源。
对象类型
选择写入OBS数据源的数据文件类型,当前支持“文本文件”和“二进制文件”。
编码方式
仅当“对象类型”选择“文本文件”时需要配置。
选择写入OBS数据源的数据文件编码方式,可选择“UTF-8”和“GBK”。
Path
填写数据要写入OBS数据源的数据文件所在路径。Path的值不能以斜杠(/)结尾,不能设置为OBS桶的根目录。
文件名前缀
填写文件名前缀,与“时间格式”配合使用,用于定义写入OBS数据源的文件名称。
时间格式
选择文件名中的时间格式,与“文件名前缀”配合使用,用于定义数据写入OBS数据源的文件名称。
文件类型
选择写入OBS数据源的数据文件格式,文本文件支持txt和csv格式,二进制文件支持xls和xlsx格式。
高级属性
仅当“文件类型”选择“csv”时需要配置。
选择是否配置文件的高级属性。
换行符
仅当“高级属性”选择“是”时需要配置。
填写文件内容的换行符,用于区分文件中的不同数据行。
使用包围符
仅当“高级属性”选择“是”时需要配置。
若选择“是”,则数据文件中的每个数据字段都会用双引号(")包围。若数据字段中存在与分隔符、换行符相同的符号时,可以避免字段被错误的拆分为2个字段。例如源数据中有1个数据字段aa|bb,在集成到目标数据文件时设置了|为分隔符,如果选择使用包围符,则目标数据文件中该字段为"aa|bb",不会被拆分为aa和bb两个字段。
字段分隔符
仅当“文件类型”选择“txt”或者“高级属性”选择“是”时需要配置。
填写文件内容的字段分隔符,用于区分每行数据中的不同字段。
是否添加文件头
选择是否为写入的数据文件添加文件头。文件头为添加在文件中的首行或者开头若干行信息,帮助识别和区分文件内容。
文件头
仅当“是否添加文件头”选择“是”时需要配置。
填写文件头的内容信息,多个文件头信息需要用英文逗号(,)隔开。
元数据
定义写入到目标端文件的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
目标端为OBS的配置示例如下图所示,id、name和info为要写入到OBS数据源的数据字段。
图8 OBS配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
Oracle
任务的“集成模式”为“定时”或“实时”时,可以选择Oracle作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表22 目标端Oracle信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择Oracle数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“Oracle”。
数据源名称
选择接入数据源中已配置的Oracle数据源。
目标端表
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。
说明:主键字段对应的源端字段如果为空,该条记录会默认抛弃,不会产生调度日志错误码。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
是否清空表
开启后每次调度任务会先清空目标端表。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
PostgreSQL
任务的“集成模式”为“定时”或“实时”时,可以选择PostgreSQL作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表23 目标端PostgreSQL信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择PostgreSQL数据源所属的集成应用。
目标端数据类型
选择“PostgreSQL”。
数据源名称
选择已配置的PostgreSQL数据源。
目标端表
选择待集成数据要写入的数据表,单击“选择表字段”,可以选择只需要集成的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
是否清空表
开启后每次调度任务会先清空目标端表。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
Redis
任务的“集成模式”为“定时”或“实时”时,可以选择Redis作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表24 目标端Redis信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择Redis数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“Redis”。
数据源名称
选择接入数据源中已配置的Redis数据源。
key前缀
填写Redis数据源中存储待集成数据的key名称前缀,“key前缀”+“分隔符”+“key后缀字段”组成Redis数据源中的key名称,每一行数据作为key的value存储到Redis中。具体key格式请参考key和value格式说明。
key后缀字段
选择源端数据中值不允许重复的字段作为key后缀,“key前缀”+“分隔符”+“key后缀字段”组成Redis数据源中的key名称,如此可以确保每一行数据都能被集成到Redis数据源的不同key中。
“数据类型”选择“List”、“Set”或“ZSet”时,“key后缀字段”可以为空,即只由“key前缀”生成一个key,此时所有数据行作为元素被集成到Redis数据源的同一个key中。
分隔符
仅当“key后缀字段”不为空时需要配置。
填写“key前缀”与“key后缀字段”之间的分隔符,“key前缀”+“分隔符”+“key后缀字段”组成Redis数据源中的key名称。
数据类型
选择Redis数据源中key的数据类型。支持以下类型:
- String
- List
- Map
- Set
- ZSet
List追加方式
仅当“数据类型”选择“List”时需要配置。
选择List类型key的数据追加写入方式。
- lpush:表示当前数据插入到List的头部。
- rpush:表示当前数据插入到List的尾部。
sortColumn
仅当“数据类型”选择“ZSet”时需要配置。
选择使用源端哪一个数据字段进行数据元素的排序。
失效时间(秒)
Redis数据源中key的失效时间,0表示永不失效。
写入格式
仅当“数据类型”选择“String”、“List”、“Set”或“ZSet”时需要配置,“数据类型”选择“Map”时默认为JSON格式。
选择待集成数据写入Redis数据源的数据格式,可选择“JSON”和“CUSTOMIZE”。
元数据
定义写入到目标端key的value格式。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
若“写入格式”为“JSON”,则元数据以JSON格式在Redis数据源中作为key的value存储。若“写入格式”为“CUSTOMIZE”,则自定义目标端value的拼接格式,全部元数据与拼接前缀、拼接后缀进行拼接,并在Redis数据源中作为key的value存储。具体value格式请参考key和value格式说明。
key和value格式说明:
假设有如下源端数据,目标端信息中“key前缀”设置为“roma”,选择源数据的唯一键“aaa”字段作为“key后缀字段”,确保key名称不重复,并设置“|”作为key前缀与后缀的分隔符。
+-------+-------+ | aaa | bbb | +-------+-------+ | 1 | x | | 2 | y | | 3 | z | +-------+-------+
- 若“数据类型”为“String”,“写入格式”为“JSON”,元数据配置如图9所示,则写入到Redis数据源中的key和value如下。
key value -------------------------------- roma|1 "{"bbb":"x","aaa":1}" roma|2 "{"bbb":"y","aaa":2}" roma|3 "{"bbb":"z","aaa":3}"
- 若“数据类型”为“String”,“写入格式”为“CUSTOMIZE”,元数据配置如图10所示,则写入到Redis数据源中的key和value如下。
key value ------------------------ roma|1 "bbb_x&aaa_1" roma|2 "bbb_y&aaa_2" roma|3 "bbb_z&aaa_3"
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
RocketMQ
任务的“集成模式”为“定时”或“实时”时,可以选择RocketMQ作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表25 目标端RocketMQ信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择RocketMQ数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“RocketMQ”。
数据源名称
选择接入数据源中已配置的RocketMQ数据源。
Topic
主题字符串/队列名称.
元数据
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- 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" } ] } }
目标端为RocketMQ的配置示例如下图所示。
图11 RocketMQ配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
RabbitMQ
任务的“集成模式”为“定时”或“实时”时,可以选择RabbitMQ作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表26 目标端RabbitMQ信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择RabbitMQ数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“RabbitMQ”。
数据源名称
选择接入数据源中已配置的RabbitMQ数据源。
是否创建新队列
选择是否在源端RabbitMQ数据源创建一个新队列。
- 选择是,表示创建一个新队列,并把待集成数据发送到该队列。
- 选择否,表示把待集成数据发送到已有队列。
交换方式
选择RabbitMQ数据源中,交换器将消息转发到队列的路由方式。若“是否创建新队列”选择“是”,则选择新队列的交换方式;若“是否创建新队列”选择“否”,则选择已有目标队列一致的交换方式。
- Direct:若消息的路由关键字与队列完全匹配,则消息会转发到队列。
- Topic:若消息的路由关键字与队列模糊匹配,则消息会转发到队列。
- Fanout:所有消息都会转发到队列。
- Headers:若消息的Headers属性与队列完全匹配,则消息会转发到队列。
交换机名称
填写RabbitMQ数据源的交换器名称。若“是否创建新队列”选择“是”,则配置新队列的交换器名称;若“是否创建新队列”选择“否”,则配置已有目标队列一致的交换器名称。
路由关键字
仅当“交换方式”选择“Direct”或“Topic”时需要配置。
RabbitMQ把路由关键字作为判断条件,符合条件的消息将转发到队列。若“是否创建新队列”选择“是”,则配置新队列的路由关键字;若“是否创建新队列”选择“否”,则配置已有目标队列一致的路由关键字。
消息参数
仅当“交换方式”选择“Headers”时需要配置。
RabbitMQ把Headers作为判断条件,符合条件的消息将转发到新队列。若“是否创建新队列”选择“是”,则配置新队列的Headers键值对;若“是否创建新队列”选择“否”,则配置已有目标队列一致的Headers键值对。
队列名称
仅当“是否创建新队列”选择“是”时需要配置。
填写新队列的名称,自定义。
自动删除
当没有客户端连接队列时,队列是否自动删除。
持久化
队列中的消息是否持久化保存。
元数据
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- 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的配置示例如下图所示。
图12 RabbitMQ配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
SQL Server
任务的“集成模式”为“定时”或“实时”时,可以选择SQL Server作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表27 目标端SQL Server信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择SQL Server数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“SQL Server”。
数据源名称
选择接入数据源中已配置的SQL Server数据源。
目标端表
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
是否清空表
开启后每次调度任务会先清空目标端表。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
GaussDB(for MySQL)
任务的“集成模式”为“定时”或“实时”时,可以选择GaussDB(for MySQL)作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表28 目标端GaussDB(for MySQL)信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择GaussDB(for MySQL)数据源所属的集成应用,在接入数据源时已配置。
目标端数据类型
选择“GaussDB(for MySQL)”。
数据源名称
选择接入数据源中已配置的GaussDB(for MySQL)数据源。
目标端表
选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。
批次号字段
选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。
该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。
批次号格式
批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。
是否清空表
开启后每次调度任务会先清空目标端表。
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
自定义数据源
任务的“集成模式”为“定时”时,可以选择自定义数据源作为目标端数据源。
- 在创建任务页面中配置目标端信息。
表29 目标端自定义数据源信息 参数
配置说明
目标端实例
配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。
目标端集成应用
选择自定义数据源所属的集成应用,在接入数据源时已配置。
目标数据类型
选择具体自定义数据源类型。
数据源名称
选择接入数据源中已配置的自定义数据源。
元数据
定义写入到目标端的JSON格式数据中,每一个底层key-value型数据元素。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
除了以上参数外,不同自定义数据源会定义不同的写端参数,请按照连接器原始定义规范填写。您可以在ROMA Connect控制台的“资产管理”页面中找到自定义数据源所使用的连接器,查看连接器的“写端参数定义”信息。
以一个发送邮件的自定义数据源为例,目标端为自定义数据源的配置示例如下图所示。其中receiver和title参数为连接器中定义的目标端参数,id、name和info为要写入到自定义数据源的数据字段。
图13 自定义数据源配置示例
- 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。