华为云用户手册

  • Gauss100 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择Gauss100作为目标端数据源。 在创建任务页面中配置目标端信息。 表9 目标端Gauss100信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择Gauss100数据源所属的集成应用,在接入数据源时已配置。 目标数据类型 选择“Gauss100”。 数据源名称 选择接入数据源中已配置的Gauss100数据源。 Schema 选择数据源Schema。 目标端表 选择已有的表,单击“选择表字段”,可以选择只需要集成的数据列字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • DM 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择DM作为目标端数据源。 在创建任务页面中配置目标端信息。 表7 目标端DM信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择DM数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“DM”。 数据源名称 选择接入数据源中已配置的DM数据源。 目标端表 选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据列字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • DIS 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择DIS作为目标端数据源。 在创建任务页面中配置目标端信息。 表5 目标端DIS信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择DIS数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“DIS”。 数据源名称 选择接入数据源中已配置的DIS数据源。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • DWS 返回页首 任务的“集成模式”为“定时”或“实时”时,可以选择DWS作为目标端数据源。 在创建任务页面中配置目标端信息。 表6 目标端DWS信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择DWS数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“DWS”。 数据源名称 选择接入数据源中已配置的DWS数据源。 目标端表 选择待集成数据要写入的数据表。选择数据表后,单击“选择表字段”,可以选择只需要写入的数据表字段。 批次号字段 选择目标表中类型为string并且字段长度大于14的字段作为批次号字段,且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数,用来标识同一批次的数据,同一批次插入的数据具有相同的批次号,表示这些数据是同一批次插入的,可以用来定位或者解析回滚。 批次号格式 批次号格式支持yyyyMMddHHmmss和UUID,yyyyMMddHHmmss可能会有重复,请尽可能使用UUID以确保唯一性。 是否清空表 每次调度任务时是否先清空目标表。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • FTP 返回页首 任务的“集成模式”为“定时”时,可以选择FTP作为目标端数据源。 在创建任务页面中配置目标端信息。 表8 目标端FTP信息 参数 配置说明 目标端实例 配置为当前正在使用的ROMA Connect实例,源端实例配置后目标端自动关联,无需配置。 目标端集成应用 选择FTP数据源所属的集成应用,在接入数据源时已配置。 目标端数据类型 选择“FTP”。 数据源名称 选择接入数据源中已配置的FTP数据源。 文件路径 填写FTP服务器中要访问的文件夹路径,例如“/data/FDI”。 文件名前缀 填写文件名前缀,与“文件名后缀”配合使用,用于定义写入FTP数据源的文件名称。 文件名后缀 选择文件名后缀,可选择不同的时间戳格式,与“文件名前缀”配合使用,用于定义写入FTP数据源的文件名称。 文件内容类型 选择要写入数据的数据文件内容类型,可选择“文本文件”和“二进制文件”。 文件类型 选择要写入数据的数据文件格式。当“文件内容类型”选择“文本文件”时,可选择“ CS V”和“TXT”;当“文件内容类型”选择“二进制文件”时,可选择“XLS”和“XLSX”。 文件名称字符编码 选择数据文件的名称编码方式。 文件内容字符编码 仅当“文件内容类型”选择“文本文件”时需要配置。 选择数据文件的内容编码方式。 文件分割符 仅当“文件内容类型”选择“文本文件”时需要配置。 填写数据文件中的字段分隔符,用于区分每行数据中的不同字段。默认使用英文逗号分隔。 空格格式符 定义数据文件中的空格字符,以便写入数据时使用。 写模式 选择集成数据写入文件的模式。 Truncate:先删除文件,再重新创建文件并写数据。 Append:在已有文件中增量写入数据。 是否添加文件头 选择是否添加文件头。 文件头 仅当“是否添加文件头”选择“是”时需要配置。 填写文件头的内容信息,多个文件头信息需要用英文逗号隔开。 元数据 定义写入到目标端文件的数据字段。源端有多少个字段需要集成,则目标端需要定义相同个数的元数据。 别名:对元数据的自定义名称。 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。 目标端为FTP的配置示例如下图所示,id、name和info为要写入到FTP数据源的数据字段。 图3 FTP配置示例 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • 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的配置示例如下图所示。 图2 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以确保唯一性。 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • 概述 本节主要提供数据集成任务目标端信息的配置说明。目标端信息用于告诉ROMA Connect如何将待集成的数据写入到目标端,包括数据源、数据存储信息等。对于不同的数据源类型,其目标端信息配置有所差异。 数据迁移过程中若目标端数据存在主键冲突,则根据主键自动更新数据。 支持“定时&实时”模式的目标端数据类型 仅支持“定时”模式的目标端数据类型 API ActiveMQ ArtemisMQ DB2 DIS DWS DM Gauss100 HL7 HANA IBM MQ Kafka MySQL MongoDB MQS MRS Hive MRS HDFS MRS HBase MRS Kafka Oracle PostgreSQL Redis RocketMQ RabbitMQ SQL Server GaussDB (for MySQL) 自定义数据源 FTP OBS
  • 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 完成目标端信息配置后,继续进行下一部分配置,配置数据映射规则。
  • 脚本模式 可通过编辑JavaScript脚本来配置源端数据(sourceObj指源表的字段集合对象)和目标端数据(targetObj指目标表的字段集合对象)的Mapping映射关系信息,增强复杂对象的Mapping处理能力。 脚本映射样例: 样例模板。 function excute(sourceObj){ //请在此处编写脚本内容, 注意大小写敏感。 //定义目标端数据对象 targetObj = {}; //支持普通的加减乘除运算 targetObj.a= (sourceObj.id * 3 + 1) % 5; //支持js的Math函数 targetObj.b= Math.sqrt(100); //支持类型转换 targetObj.c = Number("3.14"); //支持调用系统的时间函数 targetObj.date = new Date().toLocaleString(); //支持正则表达式 targetObj.fdi = sourceObj.name.replace(/world/i,"fdi"); //支持json转换 var json = JSON.parse(sourceObj.infoJson); targetObj.address = json.address; targetObj.age = json.age; targetObj.sex = json.other.sex; targetObj.hobby = json.other.hobby; //支持条件语句 if(targetObj.hobby == "rap"){ targetObj.ikun = true; }else{ targetObj.ikun = false; } return targetObj; } 仅字段映射。 function execute(sourceObject) {//sourceObject即源端传送的数据对象 //请在此处编写脚本内容; var targetObject = {}; targetObject.mqs_id = sourceObject.id;//映射源端数据表中的id字段至目标端字段mqs_id targetObject.mqs_name = sourceObject.name; targetObject.mqs_date = sourceObject.date; targetObject.mqs_date = sourceObject['customized-outdutydate'];//属性带中划线的字段,需要使用中括号进行引用 return targetObject; //targetObject即返回给目标端的数据对象 } 目标端数据源类型为API。 API数据类型的目标端需要分别使用三个对象进行传递,对象包含params、headers和body。 function excute(sourceObj) { print("execute js"); print(sourceObj); var targetObj = {}; targetObj.params = {}; targetObj.params.id = sourceObj.uid targetObj.headers = {}; targetObj.headers['X-HW-ID'] = "应用ID"; targetObj.headers['X-HW-APPKEY'] = "应用密钥"; targetObj.body = {}; return obj; } 如果转换的数据存在时间类型。则JS脚本中需参考以下加黑字段修改: 编排模式下,目标端数据源类型为API,且使用JS脚本进行数据转换时,会自动先将源端类型为Date的数据类型转换为yyyy-MM-dd HH:mm:ss的字符串类型。例如,源端时间数据为19:55:20,通过JS脚本转换后会变为1970-01-01 19:55:20,而不是预期的19:55:20。其中1970-01-01为系统统一添加的默认值。 如果要目标端要获得指定格式的数据,需要参考下述示例在JS脚本中对时间数据进行转换。 function excute(sourceObj) { /** * 自定义时间格式函数 * @param {format} 时间显示格式 */ Date.prototype.format = function (format) { var date = { "M+": this.getMonth() + 1, "d+": this.getDate(), "h+": this.getHours(), "m+": this.getMinutes(), "s+": this.getSeconds(), "q+": Math.floor((this.getMonth() + 3) / 3), "S": this.getMilliseconds() }; if (/(y+)/i.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length)); } for (var k in date) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length == 1 ? date[k] : ("00" + date[k]).substr(("" + date[k]).length)); } } return format; }; print("execute js"); print(sourceObj); var targetObj = {}; targetObj.params = {}; targetObj.params.id = sourceObj.uid //对时间格式的数据进行转换时,调用上述自定义的函数进行处理, 抽取时、分、秒部分的数据给目标字段。 //其中下述代码中的HH:mm:ss为时分秒时间的显示格式。如果写为hhmmss,则返回给目标字段的格式不带冒号。 targetObj.params.time = (new Date(sourceObj.time)).format("hh:mm:ss"); targetObj.headers = {}; targetObj.headers['X-HW-ID'] = "应用ID"; targetObj.headers['X-HW-APPKEY'] = "应用密钥"; targetObj.body = {}; return obj; } 数据库字段涉及多层json解析。 如果源端数据对象包含的字段涉及多层json对象嵌套,则需要对每一个解析出来的字段使用“[]”引用。 例如如下脚本表示root字段包含id、name、double等多层对象嵌套,则每一个解析的字段需要单独引用。 function excute(sourceObject) { //请在此处编写脚本内容; var targetObject = {}; targetObject.mqs_id = sourceObject["root.id"]; targetObject.mqs_name = sourceObject["root.name"]; targetObject.mqs_double = sourceObject["root.double"]; targetObject.mqs_date = sourceObject["root.date"]; targetObject.mqs_boolean = sourceObject["root.boolean"]; targetObject.mqs_timestamp = sourceObject["root.timestamp"]; targetObject.mqs_time = sourceObject["root.time"]; targetObject.mqs_long = sourceObject["root.long"]; return targetObject; }
  • 映射模式 自动配置Mapping 若源端信息与目标端信息中都定义了元数据,可使用“自动Mapping”方式配置Mapping信息。 单击“自动Mapping”,源端和目标端数据字段间的映射规则自动建立。 图1 自动Mapping 手动配置Mapping 如果两端的数据表字段不一致,可单击下方的“添加mapping映射”,配置源端数据字段到目标端数据字段的映射关系。 用户可以手动添加源端数据字段与目标端数据字段的映射规则,该方式适用于所有数据类型的集成场景。可以通过键值对输入或文本框输入两种方式配置Mapping映射规则。
  • 操作步骤 登录ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。 在左侧的导航栏选择“数据源管理”,单击页面右上角的“接入数据源”。 在接入数据源页面的“默认数据源”页签下,选择“RocketMQ”类型的数据源,然后单击“下一步”。 在页面中配置数据源的连接信息。 表1 数据源连接信息 参数 配置说明 数据源名称 填写数据源的名称,根据规划自定义。建议您按照一定的命名规则填写数据源名称,方便您快速识别和查找。 编码格式 默认“utf-8”格式。 集成应用 选择数据源所归属的集成应用。 描述 填写数据源的描述信息。 连接地址 填写RocketMQ的连接IP地址和端口号。 仅支持填写一个地址。 数据源的接入配置示例如下所示。 图1 RocketMQ数据源配置示例 RocketMQ数据源不支持端口映射的方式接入。 完成数据源接入配置后,单击“开始检测”,检测ROMA Connect与数据源之间是否能够连通。 若测试结果为“数据源连接成功!”,则继续下一步。 若测试结果为“数据源连接失败!”,则检查数据源状态和数据源连接参数配置,然后单击“重新检测”,直到连接成功为止。 单击“创建”,完成数据源的接入。
  • 操作步骤 建议由数据库管理员进行CDC功能的配置操作,以下配置以Linux环境为例进行说明。 开启Binlog。 使用命令行工具连接到MySQL数据库所在服务器,执行以下命令以root用户登录数据库。 mysql -uroot -ppassword 其中,password为数据库root用户的密码,可向数据库管理员获取。 执行以下命令,查询MySQL数据库是否开启了Binlog。 show variables like 'log_bin'; 若变量log_bin的值为“OFF”,则说明Binlog未开启,继续执行下一步。 若变量log_bin的值为“ON”,则说明Binlog已开启,继续执行以下SQL命令,检查相关参数的配置是否符合要求。 show variables like '%binlog_format%'; show variables like '%binlog_row_image%'; 变量binlog_format的值应该为“ROW”,变量binlog_row_image的值应该为“FULL”。如果满足要求,直接跳到2,否则继续执行下一步。 执行以下命令退出数据库。 exit; 执行以下命令编辑MySQL配置文件,然后按“i”进入输入模式。 vi /etc/my.cnf 在配置文件中增加如下配置,开启Binlog。 server-id = 123 log_bin = mysql-bin binlog_format = row binlog_row_image = full expire_logs_days = 10 gtid_mode = on enforce_gtid_consistency = on 其中: server-id的值应为大于1的整数,请根据实际规划设置,并且在创建数据集成任务时设置的“Server Id”值需要此处设置的值不同。 expire_logs_days为Binlog日志文件保留时间,超过保留时间的Binlog日志会被自动删除,应保留至少2天的日志文件。对于MySQL 8.0及以上版本,需设置binlog_expire_logs_seconds值,例如:binlog_expire_logs_seconds = 86400。(expire_logs_days在MySQL 8.0及以上版本优先级低于binlog_expire_logs_seconds)。 “gtid_mode = on”和“enforce_gtid_consistency = on”仅当MySQL的版本大于等于5.6.5时才需要添加,否则删除这两行内容。 按“Esc”退出输入模式,然后输入“:wq”并回车,保存退出。 执行以下命令重启MySQL数据库。 service mysqld restart 以root用户登录数据库,执行以下命令,查询变量log_bin的值是否为“ON”,即是否已开启Binlog。 show variables like 'log_bin'; (可选):当创建MySQL CDC任务Schema映射时,MySQL数据库需要先开启配置项:binlog_rows_query_log_events =1;可在如上第 e 步骤中配置。 在数据库中执行以下命令创建ROMA Connect连接数据库的用户并配置权限。 CREATE USER 'roma'@'%' IDENTIFIED BY 'password'; GRANT SELECT, RELOAD, SHOW DATABASES, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'roma'@'%'; 其中: roma为ROMA Connect连接用户名,请根据实际规划设置。 password为ROMA Connect连接用户密码,请根据实际规划设置。 (可选)如果MySQL数据库版本为8.0,则需要执行以下命令,修改数据库连接用户的密码认证方式。 ALTER USER roma IDENTIFIED WITH mysql_native_password BY 'password'; 其中: roma为2中创建的数据库连接用户名。 password为数据库连接用户的密码。 执行以下命令退出数据库连接。 exit;
  • SQL Server 返回页首 任务的“集成模式”为“定时”时,可以选择SQL Server作为源端数据源,具体配置如下。 表13 源端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识别数据的时间戳。 时间戳字段 仅当“是否增量迁移”选择开启时需要配置。 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。 时间戳初始值 仅当“是否增量迁移”选择开启时需要配置。 首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。 重置迁移时间初始值 该参数仅在编辑FDI任务时可配置。 选择是否开启重置迁移时间初始值。 开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。 时间补偿(毫秒) 仅当“是否增量迁移”选择开启时需要配置。 为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。 条件筛选 仅当“插入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配置示例。
  • PostgreSQL 返回页首 任务的“集成模式”为“定时”时,可以选择PostgreSQL作为源端数据源,具体配置如下。 表11 源端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识别数据的时间戳。 时间戳字段 仅当“是否增量迁移”选择开启时需要配置。 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。 时间戳初始值 仅当“是否增量迁移”选择开启时需要配置。 首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。 重置迁移时间初始值 该参数仅在编辑FDI任务时可配置。 选择是否开启重置迁移时间初始值。 开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。 时间补偿(毫秒) 仅当“是否增量迁移”选择开启时需要配置。 为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。 条件筛选 仅当“插入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作为源端数据源,具体配置如下。 表12 源端RabbitMQ信息 参数 配置说明 是否创建新队列 选择是否在源端RabbitMQ数据源创建一个新队列。 选择是,表示创建一个新队列,并从该队列获取数据。 选择否,表示从已有队列中获取数据。 交换方式 仅当“是否创建新队列”选择“是”时需要配置。 选择RabbitMQ中交换器将消息转发到新队列的路由方式。 Direct:若消息的路由关键字与队列完全匹配,则消息会转发到队列。 Topic:若消息的路由关键字与队列模糊匹配,则消息会转发到队列。 Fanout:所有消息都会转发到队列。 Headers:若消息的Headers属性与队列完全匹配,则消息会转发到队列。 交换机名称 仅当“是否创建新队列”选择“是”时需要配置。 填写RabbitMQ中新队列的交换器名称,自定义。 路由关键字 仅当“交换方式”选择“Direct”或“Topic”时需要配置。 填写新队列的路由关键字,RabbitMQ把路由关键字作为判断条件,符合条件的消息将转发到新队列。 消息参数 仅当“交换方式”选择“Headers”时需要配置。 填写新队列的Headers键值对,RabbitMQ把Headers作为判断条件,符合条件的消息将转发到新队列。 队列名称 填写要获取数据的消息队列名称。 若“是否创建新队列”选择“是”,则自定义一个新的队列名称。 若“是否创建新队列”选择“否”,则填写RabbitMQ数据源中已有队列的名称,并确保该队列已存在。 自动删除 当没有客户端连接队列时,队列是否自动删除。 持久化 队列中的消息是否持久化保存。 元数据 指从源端获取到的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的配置示例如下图所示。 图9 RabbitMQ配置示例
  • Oracle 返回页首 任务的“集成模式”为“定时”时,可以选择Oracle作为源端数据源,具体配置如下。 表10 源端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识别数据的时间戳。 时间戳字段 仅当“是否增量迁移”选择开启时需要配置。 选择数据表中DATE、TIME或TIMESTAMP类型的字段作为源端数据的时间戳,用来判断数据是否满足增量集成的条件。 时间戳初始值 仅当“是否增量迁移”选择开启时需要配置。 首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。 重置迁移时间初始值 该参数仅在编辑FDI任务时可配置。 选择是否开启重置迁移时间初始值。 开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。 时间补偿(毫秒) 仅当“是否增量迁移”选择开启时需要配置。 为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。 条件筛选 仅当“插入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配置示例。
  • OBS 返回页首 任务的“集成模式”为“定时”时,可以选择OBS( 对象存储服务 )作为源端数据源,具体配置如下。 表9 源端OBS信息 参数 配置说明 Path 填写OBS数据源中,要获取数据所在的对象名。Path的值不能以斜杠(/)结尾。 文件名前缀 填写文件名前缀,与“时间格式”配合使用,用于筛选要集成的数据文件。 时间格式 选择文件名中的时间格式,与“文件名前缀”配合使用,用于筛选要集成的数据文件。 文件类型 选择从OBS数据源获取的数据文件格式,可选择“txt”,“csv”和“zip”。 字段分隔符 填写数据文件中的字段分隔符,用于区分每行数据中的不同字段。 编码方式 选择从OBS数据源获取的数据文件编码方式,可选择“UTF-8”和“GBK”。 是否跳过标题 选择是否跳过数据文件中的标题行信息。标题为添加在文件中的首行或者开头若干行信息,帮助识别和区分文件内容。 标题行数 填写数据文件中标题信息的行数,方便ROMA Connect识别文件中的数据起始行。 元数据 指从源端获取到的数据文件中,要集成到目标端的每一个数据字段。元数据必须按照文件中的字段顺序填写。 别名:对元数据的自定义名称。 类型:元数据的数据类型,需要与源端数据中对应字段的数据类型一致。 源端为OBS的配置示例如下图所示,id、name和info为从OBS数据源获取,并要集成到目标端的数据字段。 图8 OBS配置示例
  • MongoDB 返回页首 任务的“集成模式”为“定时”时,可以选择MongoDB作为源端数据源,具体配置如下。 表8 源端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配置示例。
  • MySQL 返回页首 任务的“集成模式”为“定时”时,可以选择MySQL作为源端数据源,具体配置如下。 表7 源端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”类型的字段。如果时间戳字段和时间戳初始值填写不完整,此任务默认为全量集成。 时间戳初始值 仅当“是否增量迁移”选择开启时需要配置。 首次集成数据时,要集成数据的起始时间,即只集成该时间点之后的数据。 重置迁移时间初始值 该参数仅在编辑FDI任务时可配置。 选择是否开启重置迁移时间初始值。 开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。 时间补偿(毫秒) 仅当“是否增量迁移”选择开启时需要配置。 为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如,上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。 条件筛选 仅当“插入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类型的字段,用作时间戳字段。 图6 MySQL增量迁移配置示例 扩展元数据配置示例,从数据表的desc字段中获取子元素c和d。 图7 MySQL扩展元数据配置示例
  • Kafka 返回页首 任务的“集成模式”为“实时”时,可以选择Kafka作为源端数据源,具体配置如下。 表6 源端Kafka信息 参数 配置说明 Topic名称 选择要获取数据的Topic名称。 数据根字段 指从源端获取到的JSON格式数据中,元数据集上层公共字段的路径。“数据根字段”与元数据的“解析路径”组合,即为元数据的完整路径,具体请参见元数据解析路径配置说明。 数据类型 选择从Kafka数据源获取的数据格式类型,需要与Kafka实际存储的数据格式一致,可选择格式为“JSON”。 消费偏移设置 选择集成最早获取的消息数据还是最新获取的消息数据。 时区 选择Kafka数据源使用的时区,以便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" } } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b.c,元素d的解析路径需设置为b.d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为c,元素d的解析路径需设置为d。 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" } ] } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b[i].c,元素d的解析路径需设置为b[i].d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为[i].c,元素d的解析路径需设置为[i].d。 以上面JSON格式数据中不含数组的样例为例,源端为Kafka的配置示例如下图所示。 图5 Kafka配置示例
  • DWS 返回页首 任务的“集成模式”为“定时”时,可以选择DWS( 数据仓库 服务)作为源端数据源,具体配置如下。 表5 源端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任务时可配置。 选择是否开启重置迁移时间初始值。 开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。 时间补偿(毫秒) 仅当“是否增量迁移”选择开启时需要配置。 为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如:上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。 条件筛选 仅当“插入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通过时间戳与任务执行时间点进行对比,识别需增量迁移的数据。 源端为DWS的配置与MySQL的类似,配置示例可参考MySQL配置示例。
  • DB2 返回页首 任务的“集成模式”为“定时”时,可以选择DB2作为源端数据源,具体配置如下。 表4 源端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任务时可配置。 选择是否开启重置迁移时间初始值。 开启:开启后,增量迁移时每次调度时开始的时间为时间戳初始值配置的时间。 关闭:关闭时,增量迁移时每次调度的开始时间为上一次调度的结束时间。 时间补偿(毫秒) 仅当“是否增量迁移”选择开启时需要配置。 为了避免源端生成数据时存在滞后,导致ROMA Connect查询源端增量数据出现遗漏,可通过时间补偿进行调整。获取数据的结束时间为当前系统时间减去时间补偿值。 例如:上一次增量迁移任务的结束时间是15:05,本次定时任务在17:00触发,时间补偿设为100ms,则本次增量迁移任务要集成数据的时间区间为“15:05~(17:00-100ms)”。 条件筛选 仅当“插入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配置示例。
  • ArtemisMQ 返回页首 任务的“集成模式”为“实时”时,可以选择ArtemisMQ作为源端数据源。 在创建任务页面中配置源端信息。 表3 源端ArtemisMQ信息 参数 配置说明 目标端类型 选择ArtemisMQ数据源的消息传递模型,可选择“Topic”和“Queue”。 目标端名称 填写要获取数据的Topic或Queue名称,请确保该Topic或Queue已存在。 数据根字段 指从源端获取到的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" } } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b.c,元素d的解析路径需设置为b.d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为c,元素d的解析路径需设置为d。 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" } ] } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b[i].c,元素d的解析路径需设置为b[i].d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为[i].c,元素d的解析路径需设置为[i].d。 源端为ArtemisMQ的配置与ActiveMQ的类似,配置示例可参考ActiveMQ配置示例。
  • ActiveMQ 返回页首 任务的“集成模式”为“实时”时,可以选择ActiveMQ作为源端数据源,具体配置如下。 表2 源端ActiveMQ信息 参数 配置说明 目标端类型 选择ActiveMQ数据源的消息传递模型,支持“Topic”和“Queue”两种消息传递模型。 目标端名称 填写要获取数据的Topic或Queue名称,请确保该Topic或Queue已存在。 数据根字段 指从源端获取到的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" } } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b.c,元素d的解析路径需设置为b.d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为c,元素d的解析路径需设置为d。 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" } ] } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b[i].c,元素d的解析路径需设置为b[i].d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为[i].c,元素d的解析路径需设置为[i].d。 以上面JSON格式数据中不含数组的样例为例,源端为ActiveMQ的配置示例如下图所示。 图4 ActiveMQ配置示例
  • 概述 本节主要介绍编排任务连接后的连接配置。提供了编排任务源端信息的配置说明。源端信息用于告诉ROMA Connect如何从源端获取待集成的数据,包括数据源、数据格式、数据范围等。对于不同的数据源类型,其源端信息配置有所差异。 支持“定时”模式的源端数据类型 支持“实时”模式的源端数据类型 API DB2 DWS MySQL MongoDB OBS Oracle PostgreSQL SQL Server ActiveMQ ArtemisMQ Kafka RabbitMQ
  • 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" } } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b.c,元素d的解析路径需设置为a.b.d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b.c,元素d的解析路径需设置为b.d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为c,元素d的解析路径需设置为d。 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" } ] } } 此场景下,对于数据根字段和解析路径有三种配置方案: 数据根字段不设置 元素c的解析路径需要设置为a.b[i].c,元素d的解析路径需设置为a.b[i].d。 数据根字段设置为a 元数据的解析路径从元素a的下层路径开始。元素c的解析路径需要设置为b[i].c,元素d的解析路径需设置为b[i].d。 数据根字段设置为a.b 元数据的解析路径从元素b的下层路径开始。元素c的解析路径需要设置为[i].c,元素d的解析路径需设置为[i].d。 以上面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 自定义数据源配置示例 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
  • 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)扩展元数据配置示例 完成源端信息配置后,继续进行下一部分配置,配置目标端数据信息。
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全