配置源端数据信息
API
任务的“集成模式”为“定时”时,可以选择API作为源端数据源。
- 在创建任务页面中配置源端信息。
表1 源端API信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择API数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“API”。
数据源名称
选择接入数据源中已配置的API数据源。
是否需要分页
一次API请求可以返回多条数据,ROMA Connect向API数据源发送请求获取数据时,数据是否分页返回。
- 分页表示所有满足条件的数据,按照每页固定的记录数进行分页,ROMA Connect任务每次执行时,通过多次API请求获取所有数据,其中每一次的API请求获取一页数据。
- 不分页则表示ROMA Connect通过一次API请求获取所有满足条件的数据。
分页页码字段
仅当“是否需要分页”选择开启时需要配置。
填写API数据源中原始定义的分页页码字段名称,例如:pageNo。ROMA Connect向源端发送API请求时,携带此参数,表示要获取第几页的数据。分页页码初始值,指第一页从0或者从1开始计数,请根据API的原始定义填写。
分页页码字段需要同时在“请求参数”的Params或Body中配置。
分页大小字段
仅当“是否需要分页”选择开启时需要配置。
填写API数据源中原始定义的分页大小字段名称,例如:pageSize。ROMA Connect向源端发送API请求时,携带此参数,表示每页的最大数据记录数。分页大小条数请根据API的原始定义填写。
单次任务最大页数限制
仅当“是否需要分页”选择开启时需要配置。
每次定时任务查询的最大页数,例如:10,超过限制则终止任务。若为0则不做限制。
分页结束
仅当“是否需要分页”选择开启时需要配置。
选择分页获取源端数据的结束方式。
- 分页list返回为空:当响应结果中不再有数据记录,则表示获取数据结束。
- 记录总数:ROMA Connect会根据请求的分页数与分页大小计算结果,然后与数据记录总数进行对比,识别获取数据是否结束。
分页结束字段路径
仅当“是否需要分页”选择开启时需要配置。
填写API响应消息中用于判断分页结束的字段路径。在API响应消息中,每一层元素之间使用英文点号分隔。例如:响应消息为{"a":{"b":{"c":"xxx"}}},其中的元素c为分页结束字段,则分页结束字段路径为a.b.c。
- 当分页结束方式选择“分页list返回为空”时,分页结束字段路径填写list字段的根路径。
- 当分页结束方式选择“记录总数”时,分页结束字段路径填写记录总数字段的路径。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。
开始时间字段
仅当“是否增量迁移”选择开启时需要配置。
填写API数据源中原始定义的开始时间字段名称,例如:startTime。ROMA Connect向源端发送API请求时,携带此参数,表示获取该时间之后的数据。
开始时间字段和结束时间字段需同时填写在请求参数的Params或Body中。
结束时间字段
仅当“是否增量迁移”选择开启时需要配置。
填写API数据源中原始定义的结束时间字段名称,例如:endTime。ROMA Connect向源端发送API请求时,携带此参数,表示获取该时间之前的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择API数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
例如,在进行增量采集时,开始时间字段为startTime,结束时间字段为endTime,时间戳初始值为2020-11-01 12:00:00,时间补偿为0,周期设置为系统默认。任务第一次调度的时间为 2020-11-01 13:00:00,则第一次采集的数据为startTime >= 2020-11-01 12:00:00 且 endTime <= 2020-11-01 13:00:00的数据,后续的采集,每次都采集startTime >= “上次成功执行任务的时间” 且 endTime <= “当前任务执行时间” 的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
时间补偿(毫秒)
仅当“是否增量迁移”选择开启时需要配置。
为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。
例如:上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。
时间格式
仅当“是否增量迁移”选择开启时需要配置。
选择时间字段的时间戳格式,例如:yyyy-MM-dd。
周期设置
仅当“是否增量迁移”选择开启时需要配置。
增量迁移的任务在首次执行后,后续数据集成的时间区间设置模式。
- 系统默认:表示集成上一次调度到本次调度之间新产生的数据,ROMA Connect在获取源端数据时,将两次任务调度的触发时间分别作为“开始时间”与“结束时间”。
- 自定义:表示按照设置的周期规则确认“开始时间”与“结束时间”,适合一般周期循环任务的场景,例如:每天、每周或每月执行一次的任务。
开始时间前置(天)
仅当“周期设置”选择“系统默认”时需要配置。
配置数据采集开始时间的前置。
若源端生成的数据为实时变化的,如告警数据等,可通过前置时间进行采集处理。
数据采集的开始时间 = 数据源系统时间 - 时间前置值
粒度单位
仅当“周期设置”选择“自定义”时需要配置。
选择查询时间的粒度,需要与任务计划中配置的“单位”一致,才能覆盖新产生的数据。例如:任务计划中“单位”设置为“日”,则此处设置为“日”,表示每次任务获取数据的时间区间为一天。
周期指定
仅当“周期设置”选择“自定义”时需要配置。
选择获取源端数据的时间周期区间。例如:任务为每天执行一次,“粒度单位”设为“日”,若“周期指定”为“上一个周期”,则表示每次增量集成上一天的数据;若“周期指定”为“当前周期”,则表示每次增量集成当天的数据。
周期右边界
仅当“周期设置”选择“自定义”时需要配置。
选择获取源端数据的时间区间是否包含结束时间。
- 闭区间:表示包含结束时间。
- 开区间:表示不包含结束时间。
请求参数
构造API请求的参数定义,例如分页页码、分页大小等参数,需要在Params或者Body中携带。请根据API数据源的定义如实填写。
是否解析
当“是否需要分页”选项开启时,默认为“是”,不支持修改。
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
响应类型
仅当“是否解析”选择“是”时需要配置。
选择API请求的响应消息格式类型,可选择“JSON”和“XML”格式,需要与API的实际响应消息格式一致。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON/XML格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON/XML格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与响应消息中对应参数的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- JSON/XML格式数据中不含数组
如以下JSON格式数据(XML原理类似),元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": { "c": "xx", "d": "xx" } } }
此场景下,对于数据根字段和解析路径有三种配置方案:
- JSON/XML格式数据中含数组
如以下JSON格式数据(XML原理类似),元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b[i].c,元素d的完整路径为a.b[i].d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
以上面JSON/XML格式数据中含数组的样例为例,目标端为API的配置示例如下所示。
- 分页配置示例,pageNo和pageSize为API的分页参数,需要同时在请求参数中添加。
图1 API分页配置示例
- 增量迁移配置示例,startTime和endTime为API的时间参数,需要同时在请求参数中添加。
图2 API增量迁移配置示例
- 元数据配置示例,把a作为数据根字段。
图3 API元数据配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
ActiveMQ
任务的“集成模式”为“实时”时,可以选择ActiveMQ作为源端数据源。
- 在创建任务页面中配置源端信息。
表2 源端ActiveMQ信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择ActiveMQ数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“ActiveMQ”。
数据源名称
选择接入数据源中已配置的ActiveMQ数据源。
目标端类型
选择ActiveMQ数据源的消息传递模型,支持“Topic”和“Queue”两种消息传递模型。
目标端名称
填写要获取数据的Topic或Queue名称,请确保该Topic或Queue已存在。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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已存在。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
源端为ArtemisMQ的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
DB2
任务的“集成模式”为“定时”时,可以选择DB2作为源端数据源。
- 在创建任务页面中配置源端信息。
表4 源端DB2信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择DB2数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“DB2”。
数据源名称
选择接入数据源中已配置的DB2数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择DB2数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以只选择需要集成的数据列字段,例如:ID。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
配置要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择DB2数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
用于校验数据行是否符合增量集成条件,请选择一个“DATE”类型的字段。如果时间戳字段和时间戳初始值填写不完整,此任务默认为全量集成。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如:条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
扩展元数据
仅当“插入SQL”选择不开启时需要配置。
当数据库中某个字段的值为JSON格式,且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。
- 字段名:选择源表中需要采集子元素的数据字段名称。
- 类型:JSON格式字段值中,要采集的数据元素的数据类型。
- 解析路径:数据元素在JSON格式值中的完整路径,具体请参见扩展元数据解析路径配置说明。
扩展元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为DB2的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
DWS
任务的“集成模式”为“定时”时,可以选择DWS(数据仓库服务)作为源端数据源。
- 在创建任务页面中配置源端信息。
表5 源端DWS信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择DWS数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“DWS”。
数据源名称
选择接入数据源中已配置的DWS数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如:语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择DWS数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择DWS数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
选择数据表中“DATE”类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如:条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为DWS的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
DIS
任务的“集成模式”为“实时”时,可以选择DIS(数据接入服务)作为源端数据源。
- 在创建任务页面中配置源端信息。
表6 源端DIS信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择DIS数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“DIS”。
数据源名称
选择接入数据源中已配置的DIS数据源。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
数据类型
仅当“是否解析”选择“是”时需要配置。
选择从DIS数据源获取的数据格式类型,需要与DIS实际存储的数据格式一致。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
时区
选择DIS数据源使用的时区,以便ROMA Connect识别数据的时间戳。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
源端为DIS的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
DM
任务的“集成模式”为“定时”时,可以选择DM作为源端数据源。
- 在创建任务页面中配置源端信息。
表7 源端DM信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择DM数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“DM”。
数据源名称
选择接入数据源中已配置的DM数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如:select string_col,number_col from zyw_test where time_col >= ${{begin}} and time_col < ${{end}}
- ${{begin}}为固定格式,请勿修改,代表上次任务的执行的时间。
- ${{end}}为固定格式,请勿修改,代表本次任务的执行时间。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择DM数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以只选择需要集成的数据列字段,例如:ID。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
配置要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择DM数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
用于校验数据行是否符合增量集成条件,请选择一个“DATE”类型的字段。如果时间戳字段和时间戳初始值填写不完整,此任务默认为全量集成。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如:条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
扩展元数据
仅当“插入SQL”选择不开启时需要配置。
当数据库中某个字段的值为JSON格式,且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。
- 字段名:选择源表中需要采集子元素的数据字段名称。
- 类型:JSON格式字段值中,要采集的数据元素的数据类型。
- 解析路径:数据元素在JSON格式值中的完整路径,具体请参见扩展元数据解析路径配置说明。
扩展元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为DM的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
FTP
任务的“集成模式”为“定时”时,可以选择FTP作为源端数据源。
- 在创建任务页面中配置源端信息。
表8 源端FTP信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择FTP数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“FTP”。
数据源名称
选择接入数据源中已配置的FTP数据源。
文件路径
填写FTP服务器中要访问的文件夹路径,例如“/data/FDI”。
文件名称
填写要获取数据的数据文件名称,若不填写,则获取所有文件的数据。
文件名称字符编码
选择数据文件的名称编码方式。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
最大文件大小
设置要获取数据的文件大小限制,超过限制的文件将不获取。
文件内容字符编码
仅当“是否解析”选择“是”时需要配置。
选择数据文件的内容编码格式。
文件分割符
仅当“是否解析”选择“是”时需要配置。
填写数据文件中的字段分隔符,用于区分每行数据中的不同字段。
空格格式符
仅当“是否解析”选择“是”时需要配置。
填写数据文件中定义的空格字符,供ROMA Connect识别文件内容中的空格。例如,定义空格格式符为英文句号(.),那么在获取数据时,读取到英文句号(.)时,则认为是空格。
跳过文件头
仅当“是否解析”选择“是”时需要配置。
选择是否跳过数据文件中的文件头信息。文件头为添加在文件中的首行或者开头若干行信息,帮助识别和区分文件内容。
跳过文件头行数
仅当“跳过文件头”选择“是”时需要配置。
填写数据文件中文件头信息的行数,方便ROMA Connect识别文件中的数据起始行。
迁移数量
设置要获取数据的数量。
- “是否解析”选择“是”时,表示解析的数据行数。
- “是否解析”选择“否”时,表示读取的文件数量。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的数据文件中,要集成到目标端的每一个数据字段。元数据必须按照文件中的字段顺序填写。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
源端为FTP的配置示例如下图所示,id、name和info为从FTP数据源获取,并要集成到目标端的数据字段。
图5 FTP配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
Gauss100
任务的“集成模式”为“定时”时,可以选择Gauss100作为源端数据源。
- 在创建任务页面中配置源端信息。
表9 源端Gauss100信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择Gauss100数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“Gauss100”。
数据源名称
选择接入数据源中已配置的Gauss100数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
Schema
仅当“插入SQL”选择不开启时需要配置。
选择表Schema。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择Gauss100数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择Gauss100数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如:条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为Gauss100的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
HANA
任务的“集成模式”为“定时”时,可以选择HANA作为源端数据源。
- 在创建任务页面中配置源端信息。
表10 源端HANA信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择HANA数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“HANA”。
数据源名称
选择接入数据源中已配置的HANA数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择HANA数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择HANA数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如:条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为HANA的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
HL7
任务的“集成模式”为“实时”时,可以选择HL7作为源端数据源。
- 在创建任务页面中配置源端信息。
表11 源端HL7信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择HL7数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“HL7”。
数据源名称
选择接入数据源中已配置的HL7数据源。
编码方式
选择HL7数据源的数据文件编码方式,可选择“UTF-8”和“GBK”。
元数据
指从源端获取到的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的配置示例如下图所示。
图6 HL7配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
IBM MQ
任务的“集成模式”为“实时”时,可以选择IBM MQ作为源端数据源。
- 在创建任务页面中配置源端信息。
表12 源端IBM MQ信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择IBM MQ数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“IBM MQ”。
数据源名称
选择接入数据源中已配置的IBM MQ数据源。
目标端类型
选择IBM MQ数据源的消息传递模型,可选择“Topic”和“Queue”。
目标端名称
填写要获取数据的Topic或Queue名称,请确保该Topic或Queue已存在。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
源端为IBM MQ的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
Kafka
任务的“集成模式”为“实时”时,可以选择Kafka作为源端数据源。ROMA Connect的消息集成属于Kafka类型数据源。
- 在创建任务页面中配置源端信息。
表13 源端Kafka信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择Kafka数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“Kafka”。
数据源名称
选择接入数据源中已配置的Kafka数据源。
Topic名称
选择要获取数据的Topic名称。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
数据类型
选择从Kafka数据源获取的数据格式类型,需要与Kafka实际存储的数据格式一致。当“是否解析”选择“是”时,可选择“JSON”和“XML”;当“是否解析”选择“否”时,可选择“JSON”、“XML”和“二进制文件”。
消费偏移设置
选择集成最早获取的消息数据还是最新获取的消息数据。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
时区
选择Kafka数据源使用的时区,以便ROMA Connect识别数据的时间戳。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
以上面JSON格式数据中不含数组的样例为例,源端为Kafka的配置示例如下图所示。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
LDAP
任务的“集成模式”为“定时”时,可以选择LDAP作为源端数据源。
- 在创建任务页面中配置源端信息。
表14 源端LDAP信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择LDAP数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“LDAP”。
数据源名称
选择接入数据源中已配置的LDAP数据源。
DN
连接服务器的端字符串中的区别名称(Distinguished Name),包含DC(Domain Component)、CN(Common Name)、UID(User ID)和OU(Organizational Unit)几个属性。
例如:DN设置为CN=test,OU=roma,DC=domainname,表示domainname域roma组织中的test对象。
过滤条件
根据LDAP的语法对字段进行过滤,例如:(|(uid=user.1*)(&(createTimestamp>=${{begin}})(createTimestamp<=${{end}}}))),表示搜索指定时间段内UID为user.1开头的对象。
- ${{begin}}代表上次任务的执行的时间。
- ${{end}}代表本次任务的执行时间。
过滤条件时间格式
选择过滤条件的时间格式。
时间戳初始值
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
元数据
指从源端获取到的数据文件中,要集成到目标端的每一个数据字段。元数据必须按照文件中的字段顺序填写。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
源端为LDAP的配置示例如下图所示,id、name和info为从LDAP数据源获取,并要集成到目标端的数据字段。
图8 LDAP配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
MySQL
任务的“集成模式”为“定时”时,可以选择MySQL作为源端数据源。
- 在创建任务页面中配置源端信息。
表15 源端MySQL信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择MySQL数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“MySQL”。
数据源名称
选择接入数据源中已配置的MySQL数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择MySQL数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择MySQL数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
用于校验数据行是否符合数据集成条件,请选择一个“DATE”类型的字段。如果时间戳字段和时间戳初始值填写不完整,此任务默认为全量集成。
若选择的时间戳字段类型为timestamp,时区需选择+0时区避免出现查询不到数据。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如,条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
扩展元数据
仅当“插入SQL”选择不开启时需要配置。
当数据库中某个字段的值为JSON格式,且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。
- 字段名:选择源表中需要采集子元素的数据字段名称。
- 类型:JSON格式字段值中,要采集的数据元素的数据类型。
- 解析路径:数据元素在JSON格式值中的完整路径,具体请参见扩展元数据解析路径配置说明。
扩展元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
以上面JSON格式数据中含数组的样例为例,源端为MySQL的配置示例如下所示。
- 增量迁移配置示例,数据表中需包含DATE、TIME或TIMESTAMP类型的字段,用作时间戳字段。
- 扩展元数据配置示例,从数据表的desc字段中获取子元素c和d。
图10 MySQL扩展元数据配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
MongoDB
任务的“集成模式”为“定时”时,可以选择MongoDB作为源端数据源。
- 在创建任务页面中配置源端信息。
表16 源端MongoDB信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择MongoDB数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“MongoDB”。
数据源名称
选择接入数据源中已配置的MongoDB数据源。
选择源端集合
选择MongoDB数据源中要获取数据的数据集合(数据集合相当于关系型数据库的数据表)。选择数据集合后,单击“选择集合字段”,可以选择只需要集成的数据列字段。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。
时间戳字段
仅当“是否增量迁移”选择开启时需要配置。
选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择MongoDB数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
时间补偿(毫秒)
仅当“是否增量迁移”选择开启时需要配置。
为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。
例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为MongoDB的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
MQS
任务的“集成模式”为“实时”时,可以选择MQS作为源端数据源。ROMA Connect的消息集成属于MQS类型数据源。
- 在创建任务页面中配置源端信息。
表17 源端MQS信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择MQS数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“MQS”。
数据源名称
选择接入数据源中已配置的MQS数据源。
Topic名称
选择要获取数据的Topic名称。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
数据类型
选择从MQS数据源获取的数据格式类型,需要与MQS实际存储的数据格式一致。当“是否解析”选择“是”时,可选择“JSON”和“XML”;当“是否解析”选择“否”时,可选择“JSON”、“XML”和“二进制文件”。
消费偏移设置
选择集成最早获取的消息数据还是最新获取的消息数据。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
时区
选择MQS数据源使用的时区,以便ROMA Connect识别数据的时间戳。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
以上面JSON格式数据中不含数组的样例为例,源端为MQS的配置示例如下图所示。
图11 MQS配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
MRS Hive
任务的“集成模式”为“定时”时,可以选择MRS Hive作为源端数据源。
- 在创建任务页面中配置源端信息。
表18 源端MRS Hive信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择MRS Hive数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“MRS Hive”。
数据源名称
选择接入数据源中已配置的MRS Hive数据源。
源端数据库名
选择MRS Hive数据源中要获取数据的数据库。
说明:需要使用自建的数据库,不能使用MRS Hive自带的default数据库。
源端表
选择MRS Hive数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。
时间戳字段
仅当“是否增量迁移”选择开启时需要配置。
选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择MRS Hive数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
时间补偿(毫秒)
仅当“是否增量迁移”选择开启时需要配置。
为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。
例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。
条件筛选
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如,条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为MRS Hive的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
MRS HDFS
任务的“集成模式”为“定时”时,可以选择MRS HDFS作为源端数据源。
- 在创建任务页面中配置源端信息。
表19 源端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实际的数据存储类型一致。当前可选择“文本文件”。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的文本数据中,要集成到目标端的每一个数据字段。元数据必须按照文件中的字段顺序填写。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
源端为MRS HDFS的配置示例如下图所示,id、name和info为从MRS HDFS数据源获取,并要集成到目标端的数据字段。
图12 MRS HDFS配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
MRS Kafka
任务的“集成模式”为“实时”时,可以选择MRS Kafka作为源端数据源。
- 在创建任务页面中配置源端信息。
表21 源端MRS Kafka信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择MRS Kafka数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“MRS Kafka”。
数据源名称
选择接入数据源中已配置的MRS Kafka数据源。
Topic名称
填写用户在MRS Kafka服务已创建的Topic,不可随意自定义。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据路径配置说明。
数据类型
选择从MRS Kafka数据源获取的数据格式类型,需要与MRS Kafka实际存储的数据格式一致。
- 当“是否解析”选择“是”时,可选择“JSON”、“XML”。
- 当“是否解析”选择“否”时,可选择“JSON”、“XML”、“二进制文件”。
消费偏移设置
选择集成最早获取的消息数据还是最新获取的消息数据。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
时区
选择MRS Kafka数据源使用的时区,以便ROMA Connect识别数据的时间戳。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
源端为MRS Kafka的配置与Kafka的类似,配置示例可参考Kafka配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
OBS
任务的“集成模式”为“定时”时,可以选择OBS(对象存储服务)作为源端数据源。
- 在创建任务页面中配置源端信息。
表22 源端OBS信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择OBS数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“OBS”。
数据源名称
选择接入数据源中已配置的OBS数据源。
Path
填写OBS数据源中,要获取数据文件所在的路径。Path的值不能以斜杠(/)结尾,不能设置为OBS桶的根目录。
文件名前缀
填写文件名前缀,与“时间格式”配合使用,用于筛选要集成的数据文件。
时间格式
选择文件名中的时间格式,与“文件名前缀”配合使用,用于筛选要集成的数据文件。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据OBS默认的排列顺序对文件进行解析,默认时间最晚的文件最先解析,解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
文件类型
仅当“是否解析”选择“是”时需要配置。
选择从OBS数据源获取的数据文件格式,文件格式支持“csv”、“txt”、“zip”、“xls”、“xlsx ”。
字段分隔符
仅当“是否解析”选择“是”时需要配置。
填写数据文件中的字段分隔符,用于区分每行数据中的不同字段。
编码方式
仅当“是否解析”选择“是”时需要配置。
选择从OBS数据源获取的数据文件编码方式,可选择“UTF-8”和“GBK”。
是否跳过标题
仅当“是否解析”选择“是”时需要配置。
选择是否跳过数据文件中的标题行信息。标题为添加在文件中的首行或者开头若干行信息,帮助识别和区分文件内容。
标题行数
仅当“是否解析”选择“是”且“是否跳过标题”选择“是”时需要配置。
填写数据文件中标题信息的行数,方便ROMA Connect识别文件中的数据起始行。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的数据文件中,要集成到目标端的每一个数据字段。元数据必须按照文件中的字段顺序填写。
源端为OBS的配置示例如下图所示,id、name和info为从OBS数据源获取,并要集成到目标端的数据字段。
图13 OBS配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
Oracle
任务的“集成模式”为“定时”时,可以选择Oracle作为源端数据源。
- 在创建任务页面中配置源端信息。
表23 源端Oracle信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择Oracle数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“Oracle”。
数据源名称
选择接入数据源中已配置的Oracle数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择Oracle数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择Oracle数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如,条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
扩展元数据
仅当“插入SQL”选择不开启时需要配置。
当数据库中某个字段的值为JSON格式,且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。
- 字段名:选择源表中需要采集子元素的数据字段名称。
- 类型:JSON格式字段值中,要采集的数据元素的数据类型。
- 解析路径:数据元素在JSON格式值中的完整路径,具体请参见扩展元数据解析路径配置说明。
扩展元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为Oracle的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
PostgreSQL
任务的“集成模式”为“定时”时,可以选择PostgreSQL作为源端数据源。
- 在创建任务页面中配置源端信息。
表24 源端PostgreSQL信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择PostgreSQL数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“PostgreSQL”。
数据源名称
选择接入数据源中已配置的PostgreSQL数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择PostgreSQL数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择PostgreSQL数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如,条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
扩展元数据
仅当“插入SQL”选择不开启时需要配置。
当数据库中某个字段的值为JSON格式,且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。
- 字段名:选择源表中需要采集子元素的数据字段名称。
- 类型:JSON格式字段值中,要采集的数据元素的数据类型。
- 解析路径:数据元素在JSON格式值中的完整路径,具体请参见扩展元数据解析路径配置说明。
扩展元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为PostgreSQL的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
RabbitMQ
任务的“集成模式”为“实时”时,可以选择RabbitMQ作为源端数据源。
- 在创建任务页面中配置源端信息。
表25 源端RabbitMQ信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择RabbitMQ数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“RabbitMQ”。
数据源名称
选择接入数据源中已配置的RabbitMQ数据源。
是否创建新队列
选择是否在源端RabbitMQ数据源创建一个新队列。
- 选择是,表示创建一个新队列,并从该队列获取数据。
- 选择否,表示从已有队列中获取数据。
交换方式
仅当“是否创建新队列”选择“是”时需要配置。
选择RabbitMQ中交换器将消息转发到新队列的路由方式。
- Direct:若消息的路由关键字与队列完全匹配,则消息会转发到队列。
- Topic:若消息的路由关键字与队列模糊匹配,则消息会转发到队列。
- Fanout:所有消息都会转发到队列。
- Headers:若消息的Headers属性与队列完全匹配,则消息会转发到队列。
交换机名称
仅当“是否创建新队列”选择“是”时需要配置。
填写RabbitMQ中新队列的交换器名称,自定义。
路由关键字
仅当“交换方式”选择“Direct”或“Topic”时需要配置。
填写新队列的路由关键字,RabbitMQ把路由关键字作为判断条件,符合条件的消息将转发到新队列。
消息参数
仅当“交换方式”选择“Headers”时需要配置。
填写新队列的Headers键值对,RabbitMQ把Headers作为判断条件,符合条件的消息将转发到新队列。
队列名称
填写要获取数据的消息队列名称。
- 若“是否创建新队列”选择“是”,则自定义一个新的队列名称。
- 若“是否创建新队列”选择“否”,则填写RabbitMQ数据源中已有队列的名称,并确保该队列已存在。
自动删除
当没有客户端连接队列时,队列是否自动删除。
持久化
队列中的消息是否持久化保存。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
以上面JSON格式数据中不含数组的样例为例,源端为RabbitMQ的配置示例如下图所示。
图14 RabbitMQ配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
RocketMQ
任务的“集成模式”为“实时”时,可以选择RocketMQ作为源端数据源。
RocketMQ的消费组为:任务ID+"_consumer_group"。
- 在创建任务页面中配置源端信息。
表26 源端RocketMQ信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择RocketMQ数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“RocketMQ”。
数据源名称
选择接入数据源中已配置的RocketMQ数据源。
Topic名称
填写主题字符串/队列名称。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
数据根字段
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
源端为RocketMQ的配置示例如下图所示。
图15 RocketMQ配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
SAP
任务的“集成模式”为“定时”时,可以选择SAP作为源端数据源。
- 在创建任务页面中配置源端信息。
表27 源端SAP信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择SAP数据源所属的集成应用,在接入数据源时已配置。
源数据类型
选择“SAP”。
数据源名称
选择接入数据源中已配置的SAP数据源。
连接方式
选择SAP数据源的连接方式,包含可用函数和表连接器两种方式。
- 可用函数:指SAP数据源开放出来允许远程调用的函数。
- 表连接器:通过连接器的形式连接SAP数据表。
可用函数
仅当“连接方式”选择“可用函数”时需要配置。
单击“查询”,在“可用函数”弹窗中输入“函数名”和“组名”,查询并获取SAP数据源的可用函数列表,在“函数列表”处选择要使用的函数,然后单击“确定”。
说明:- 在SAP数据源中只有开启了允许远程访问功能的函数,才能在ROMA Connect界面上查询。
- 函数名与组名支持前缀匹配方式的模糊查询。
查询函数
仅当“连接方式”选择“表连接器”时需要配置。
该字段表示用户自己定义的查询函数,用户可根据实际情况选择使用,一般情况下选默认函数。例如:/SAPDS/RFC_READ_TABLE2
须知:SAP不支持跨表查询,因为调用/SAPDS/RFC_READ_TABLE2函数只支持对单一表进行查询。
源端表
仅当“连接方式”选择“表连接器”时需要配置。
选择源端的数据表。数据表选择后可单击“选择表字段”按钮,选择具体的表字段。
字段分隔符
仅当“连接方式”选择“表连接器”时需要配置。
填写字段分隔符,用于分隔字段。
分页大小
仅当“连接方式”选择“表连接器”时需要配置。
选择一次从SAP服务端读取的最大数据量,单位为万。
须知:数值越大读取速度越快,但会存在内存溢出的风险,导致整个实例不可用。建议不做修改,如需修改请根据实际的业务量及实例规格谨慎设置。另外,请尽可能降低超过默认配置的任务并发运行数(建议不超过5个),降低内存溢出风险。
是否增量迁移
仅当“连接方式”选择“表连接器”时需要配置。
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。
分区选项
仅当“连接方式”选择“表连接器”时需要配置。
提供对数据进行分区读取的操作,从而提高数据读取速度。分区支持按年、月、天分区读取数据,或者不分区读取。
例如,当在要读取1号到30号的数据时,分区选择天,那么在读取数据时则按30天进行分区读取数据。
说明:全量和增量迁移均支持分区配置。
时区
仅当“是否增量迁移”选择开启或者“分区选项”选择“年、月、天”时需要配置。
选择SAP数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启或者“分区选项”选择“年、月、天”时需要配置。
选择数据表中DATE类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件,如果时间戳字段和时间戳初始值填写不完整,此任务默认为全量集成。
须知:SAP不支持无时间戳字段的增量任务,即待抽取的表字段中需要有时间戳字段。
时间戳初始值
仅当“是否增量迁移”选择开启或者“分区选项”选择“年、月、天”时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
时间戳结束值
仅当“是否增量迁移”选择开启时需要配置。
选择要集成数据的结束时间,即只集成到该时间点的数据。
时间格式
仅当“是否增量迁移”选择开启或者“分区选项”选择“年、月、天”时需要配置。
选择文件名中的时间格式,必须与“文件名前缀”配合使用,用于筛选要集成的数据文件。若只选择时间格式不填文件名前缀,则不会过滤文件。选了时间格式的话,则会将任务运行时的时间转换成选择的时间格式,与文件名前缀来共同过滤文件。
例如,文件名前缀为test,时间格式为yyyyMMdd,任务运行时时间为2021-01-14 10:00:00,则任务运行只采集文件名以test20210114为前缀的文件。
时间补偿(毫秒)
仅当“是否增量迁移”选择开启时需要配置。
为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。
例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。
条件筛选
仅当“连接方式”选择“表连接器”时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如,条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
表类型请求参数配置说明:
以如下请求参数结构为例进行说明,[]表示表类型数据,{}表示表中的一行数据。a参数表下有3行数据,每行数据中有2个参数。
参数b的键为a[i].b,参数c的键为a[i].c。其中,i表示参数表第几行中的参数,0表示第一行,1表示第二行,以此类推。
a: [ { b: xx, c: xx }, { b: yy, c: yy }, { b: zz, c: zz }, ]
当选择可用函数后,请求参数处仅列出a数据表下第一行的参数,即a[0].b,a[0].c。若需要添加数据表中其他某一行的参数,应按顺序逐行添加,必须确保其前一行的参数已添加,不允许出现仅添加了1、3行的参数,未添加第2行参数的情况。
例如上述样例中,要添加第二行的参数,则直接在a[0].c后添加a[1].b或a[1].c;要添加第三行的参数,则在a[0].c后先添加至少一个第二行的参数a[1].b或a[1].c,然后再添加第三行的参数a[2].b或a[2].c。
不允许重复添加同一行数据中的同一个参数,否则会导致数据集成任务执行失败。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
SNMP
任务的“集成模式”为“定时”时,可以选择SNMP作为源端数据源。
- 在创建任务页面中配置源端信息。
表28 源端SNMP信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择SNMP数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“SNMP”。
数据源名称
选择接入数据源中已配置的SNMP数据源。
数据模型
选择SNMP数据源中的数据模型。
- Row,表示按行的方式来解析SNMP数据。
- Column,表示按列的方式来解析SNMP数据。
对象标识符
仅当“数据模型”选择“Column”时需要配置。
填写SNMP消息中要获取对象的对象标识符(OID),多个对象标识符之间以英文逗号(,)分隔开。
元数据
指从源端获取到的SNMP消息数据中,要集成到目标端的对象(数据字段)。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型。
- 解析路径:元数据在SNMP消息中的对象标识符(OID)。仅当“数据模型”选择“Row”时需要配置。
源端为SNMP的配置示例如下所示。
- 数据模型为Row时,user为获取系统联系人信息,location为获取服务器所在位置信息。
图16 数据模型为Row的配置示例
- 数据模型为Column时,info为包含系统联系人信息和服务器所在位置信息的列。
图17 数据模型为Column的配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
SQL Server
任务的“集成模式”为“定时”时,可以选择SQL Server作为源端数据源。
- 在创建任务页面中配置源端信息。
表29 源端SQL Server信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择SQL Server数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“SQL Server”。
数据源名称
选择接入数据源中已配置的SQL Server数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择SQL Server数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择SQL Server数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如,条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
扩展元数据
仅当“插入SQL”选择不开启时需要配置。
当数据库中某个字段的值为JSON格式,且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。
- 字段名:选择源表中需要采集子元素的数据字段名称。
- 类型:JSON格式字段值中,要采集的数据元素的数据类型。
- 解析路径:数据元素在JSON格式值中的完整路径,具体请参见扩展元数据解析路径配置说明。
扩展元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
源端为SQL Server的配置与MySQL的类似,配置示例可参考MySQL配置示例。
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
GaussDB(for MySQL)
任务的“集成模式”为“定时”时,可以选择GaussDB(for MySQL)作为源端数据源。
- 在创建任务页面中配置源端信息。
表30 源端GaussDB(for MySQL)信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择GaussDB(for MySQL)数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“GaussDB(for MySQL)”。
数据源名称
选择接入数据源中已配置的GaussDB(for MySQL)数据源。
插入SQL
选择是否使用SQL语句来获取源端数据。
- 开启,表示ROMA Connect根据填写的SQL语句来获取源端数据。
- 不开启,表示ROMA Connect根据界面配置的条件来获取源端数据。
若选择开启,则还需要填写查询数据的SQL语句。填写的语句必须为select语句并包含where条件,不能使用insert、update、delete、drop等语句。单击“检测SQL”,可以检测语句的有效性。
例如,语句SELECT col01, col02 FROM table01 WHERE col02 IN('A', 'B', 'C') ORDER BY col01,表示从table01数据表中选取col01和col02这两列的数据,筛选列col02中值为A、B或C的数据行,并按照列col01的值进行顺序排列。
源端表
仅当“插入SQL”选择不开启时需要配置。
选择GaussDB(for MySQL)数据源中要获取数据的数据表。选择数据表后,单击“选择表字段”,可以选择只需要集成的数据列字段。
按字段排序
仅当“插入SQL”选择不开启时需要配置。
要集成的数据是否按字段排序。若需要对集成的数据进行排序,则需要选择排序的参照字段,并选择“升序”或“降序”排序。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据是上次采集的最后一条数据的入库时间到当前调度时间之间的数据。
时区
仅当“是否增量迁移”选择开启时需要配置。
选择GaussDB(for MySQL)数据源使用的时区,以便ROMA Connect识别数据的时间戳。
时间戳字段
仅当“是否增量迁移”选择开启且“插入SQL”不开启时需要配置。
选择数据表中DATE类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件,该字段支持的最大精度为秒。
时间戳初始值
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
重置迁移时间初始值
该参数仅在编辑FDI任务时可配置。
选择是否开启重置迁移时间初始值。
开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。
关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。
条件筛选
仅当“插入SQL”选择不开启时需要配置。
添加要集成数据的筛选条件,只把满足条件的源端数据集成到目标端。
例如,条件“and | col02 | equal | A”表示只集成列col02中,值为“A”的数据行。
扩展元数据
仅当“插入SQL”选择不开启时需要配置。
当数据库中某个字段的值为JSON格式,且需要采集该JSON格式值中的底层key-value型数据元素时需要配置。
- 字段名:选择源表中需要采集子元素的数据字段名称。
- 类型:JSON格式字段值中,要采集的数据元素的数据类型。
- 解析路径:数据元素在JSON格式值中的完整路径,具体请参见扩展元数据解析路径配置说明。
扩展元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
- 增量迁移不支持将源端数据表中的物理删除操作同步给目标端,建议在源端使用逻辑删除。
- 对于源端的数据变更,需要同步更新数据行的时间戳,ROMA Connect通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。
以上面JSON格式数据中含数组的样例为例,目标端为GaussDB(for MySQL)的配置示例如下所示。
- 增量迁移配置示例,数据表中需包含DATE类型的字段,用作时间戳字段。
图18 GaussDB(for MySQL)增量迁移配置示例
- 扩展元数据配置示例,从数据表的desc字段中获取子元素c和d。
图19 GaussDB(for MySQL)扩展元数据配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
WebSocket
任务的“集成模式”为“实时”时,可以选择WebSocket作为源端数据源。
- 在创建任务页面中配置源端信息。
表31 源端WebSocket信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择WebSocket数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择“WebSocket”。
数据源名称
选择接入数据源中已配置的WebSocket数据源。
数据根字段
指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据路径配置说明。
是否启用心跳机制
ROMA Connect是否与WebSocket数据源之间启用心跳机制,确保连接的有效性。
心跳消息内容
仅当“是否启用心跳机制”选择“是”时需要配置。
ROMA Connect向WebSocket数据源发送的心跳包中携带的消息内容,自定义。
发送心跳间隔(分钟)
仅当“是否启用心跳机制”选择“是”时需要配置。
ROMA Connect向WebSocket数据源发送心跳包的时间间隔。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。
- 解析路径:元数据的完整路径中,不包含数据根字段的路径部分,具体请参见元数据解析路径配置说明。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
此场景下,对于数据根字段和解析路径有三种配置方案:
以上面JSON格式数据中不含数组的样例为例,源端为WebSocket的配置示例如下图所示。
图20 WebSocket配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
自定义数据源
任务的“集成模式”为“定时”时,可以选择自定义数据源作为源端数据源。ROMA Connect通过标准RESTful API的方式与自定义数据源进行通信。
- 在创建任务页面中配置源端信息。
表32 源端自定义数据源信息 参数
配置说明
源端实例
选择当前正在使用的ROMA Connect实例。
源端集成应用
选择自定义数据源所属的集成应用,在接入数据源时已配置。
源端数据类型
选择具体自定义数据源类型。
数据源名称
选择接入数据源中已配置的自定义数据源。
是否需要分页
一次API请求可以返回多条数据,ROMA Connect向自定义数据源发送请求获取数据时,数据是否分页返回。
- 分页表示所有满足条件的数据,按照每页固定的记录数进行分页,ROMA Connect每次获取一页数据,并通过多次请求获取所有数据。
- 不分页则表示ROMA Connect通过一次API请求获取所有满足条件的数据。
起始页
仅当“是否需要分页”选择开启时需要配置。
填写分页页码起始页,指第一页从0或者从1开始计数,请根据API的原始定义填写。
单页大小
仅当“是否需要分页”选择开启时需要配置。
填写每页的最大数据记录数,请根据API的原始定义填写。
是否增量迁移
选择是否只集成指定时间段内的数据。
首次调度采集是采集时间戳初始值到当前调度时间之间的数据,后续每一次调度采集的数据为上次采集成功的时间到当前时间之间的数据。
时区
选择自定义数据源使用的时区,以便ROMA Connect识别数据的时间戳。
数据起始时间
仅当“是否增量迁移”选择开启时需要配置。
首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。
是否解析
获取到的源端数据是否由ROMA Connect做进一步的数据解析。
- 若选择是,则ROMA Connect根据配置的解析规则,对获取到的源端数据解析后再集成到目标端。
- 若选择否,则ROMA Connect会直接透传获取到的源端数据,并集成到目标端。
元数据
仅当“是否解析”选择“是”时需要配置。
指从源端获取到的JSON格式数据中,要集成到目标端的每一个底层key-value型数据元素。
- 别名:对元数据的自定义名称。
- 类型:元数据的数据类型,需要与响应消息中对应参数的数据类型一致。
- 解析路径:元数据的完整路径,具体请参见元数据解析路径配置说明。
除了以上参数外,不同自定义数据源会定义不同的读端参数,请按照连接器原始定义规范填写。您可以在ROMA Connect控制台的“资产管理”页面中找到自定义数据源所使用的连接器,查看连接器的“读端参数定义”信息。
元数据解析路径配置说明:
- JSON格式数据中不含数组
如以下JSON格式数据,元素a的完整路径定义为a,元素b的完整路径为a.b,元素c的完整路径为a.b.c,元素d的完整路径为a.b.d。元素c和d为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素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为底层数据元素,即需要通过ROMA Connect集成到目标端的数据。
此场景下,元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。
{ "a": { "b": [{ "c": "xx", "d": "xx" }, { "c": "yy", "d": "yy" } ] } }
以上面JSON格式数据中不含数组的样例为例,源端为自定义数据源的配置示例如下图所示,其中key为连机器中定义的读端参数。
图21 自定义数据源配置示例
- 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。