
# 配置系统间数据集成
#### 前提条件
- 确保业务系统数据库所在网络与ROMA Connect的网络互通。 若通过公网互通，ROMA Connect实例需绑定弹性IP。
  
- 确保源端和目标端业务系统的数据库为ROMA Connect支持的数据源类型 数据集成支持的数据源请参见[支持的数据与协议](https://support.huaweicloud.com/productdesc-roma/data-protocol-supported.html#section0)。
  

- ROMA Connect具备向目标端数据库写入数据的权限。
 
#### 配置数据集成任务
1. 创建集成应用。 ROMA Connect实例中的资源都要归属到某个集成应用下，在创建其他资源前，您需要确保有一个集成应用。若已有可用的集成应用，可跳过此步骤。
   1. 登录[ROMA Connect控制台](https://console.huaweicloud.com/roma3)，在左侧导航栏选择"资源管理"，在实例页面单击实例，进入实例控制台。
   
   2. 在左侧的导航栏选择"集成应用"，单击页面右上角的"创建集成应用"。
   
   3. 在创建集成应用弹窗中填写集成应用的"名称"，然后单击"确认"。
    
2. 接入数据源。
   配置ROMA Connect接入业务系统的数据库，确保可以正常从数据库读取和写入数据。
   不同类型数据源的接入配置不同，此处以Kafka作为源端数据库，MySQL作为目标端数据库为例进行说明，其他类型数据库请参考[接入数据源](https://support.huaweicloud.com/usermanual-roma/fdi-ug-190429002.html)。
   **接入源端Kafka数据源：**
   1. 在左侧的导航栏选择"数据源管理"，单击页面右上角的"接入数据源"。
   
   2. 在接入数据源页面的"默认数据源"页签下，选择"Kafka"类型的数据源，然后单击"下一步"。
   
   3. 在页面中配置数据源的连接信息。
      表1数据源连接信息 
      | 参数             | 配置说明                                                                                     |
      |:---|:---|
      | 数据源名称          | 填写数据源的名称，根据规划自定义。建议您按照一定的命名规则填写数据源名称，方便您快速识别和查找。                                         |
      | 集成应用           | 选择数据源所归属的集成应用。                                                                           |
      | 描述             | 编辑数据源的描述信息。                                                                              |
      | 连接地址           | 填写Kafka的连接地址和端口号。 如果Kafka有多个副本（Broker），可单击"添加地址"填写多个连接地址。 |
      | 是否SSL          | ROMA Connect与Kafka的连接是否使用SSL认证加密。                                                        |
      | SSL用户名/应用Key   | **仅当"是否SSL"选择"是"时需要配置。** SSL认证所使用的用户名。                   |
      | SSL密码/应用Secret | **仅当"是否SSL"选择"是"时需要配置。** SSL认证所使用的用户密码。                   |
         
      
   
   4. 完成数据源接入配置后，单击"开始检测"，进行数据源的连接测试。
      - 若测试结果为"数据源连接成功！"，则继续下一步。
      
      - 若测试结果为"数据源连接失败！"，则检查数据源状态和数据源连接参数配置，然后单击"重新检测"，直到连接成功为止。
       
   
   5. 单击"创建"，完成数据源的接入。
   
   
   **接入目标端MySQL数据源：**
   1. 在"数据源管理"页面单击右上角的"接入数据源"。
   
   2. 在接入数据源页面的"默认数据源"页签下，选择"MySQL"数据源，然后单击"下一步"。
   
   3. 在页面中配置数据源的连接信息。
      表2数据源连接信息 
      | 参数    | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      |:---|:---|
      | 数据源名称 | 填写数据源的名称，根据规划自定义。建议您按照一定的命名规则填写数据源名称，方便您快速识别和查找。                                                                                                                                                                                                                                                                                                                                                                                                        |
      | 集成应用  | 选择数据源所归属的集成应用。                                                                                                                                                                                                                                                                                                                                                                                                                                          |
      | 描述    | 编辑数据源的描述信息。                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      | 连接模式  | 选择连接数据库模式。 - 默认：由系统根据用户配置自动拼接数据源的连接字符串。  - 专业：由用户自己输入JDBC格式的数据源连接字符串。                                                                                                                                                                                   |
      | 连接地址  | **仅当"连接模式"选择"默认"时需要配置。** 填写数据库的连接IP地址和端口号。                                                                                                                                                                                                                                                                                                                                                                                 |
      | 数据库名  | **仅当"连接模式"选择"默认"时需要配置。** 填写要接入的数据库名。                                                                                                                                                                                                                                                                                                                                                                                    |
      | 编码格式  | **仅当"连接模式"选择"默认"时可配置。** 数据库所使用的编码格式。                                                                                                                                                                                                                                                                                                                                                                                      |
      | 超时时间  | **仅当"连接模式"选择"默认"时可配置。** 连接数据库的超时时间，单位为秒。                                                                                                                                                                                                                                                                                                                                                                                 |
      | 连接字符串 | **仅当"连接模式"选择"专业"时需要配置。** 填写MySQL数据库的JDBC格式连接串，例如：jdbc:mysql://{hostname}:{port}/{dbname}。 - {hostname}为数据库的连接地址。  - {port}为数据库的连接端口号。  - {dbname}为要接入的数据库名。   |
      | 用户名   | 填写连接数据库的用户名。                                                                                                                                                                                                                                                                                                                                                                                                                                            |
      | 密码    | 填写连接数据库的用户密码。                                                                                                                                                                                                                                                                                                                                                                                                                                           |
         
      
   
   4. 完成数据源参数配置后，单击"开始检测"，进行数据源的连接测试
      - 若测试结果为"数据源连接成功！"，则继续下一步。
      
      - 若测试结果为"数据源连接失败！"，则检查数据源状态和数据源连接参数配置，然后单击"重新检测"，直到连接成功为止。
       
   
   5. 单击"创建"，完成源端数据源的接入。
    
3. 创建数据集成任务。
   ROMA Connect通过数据集成任务，读取源端数据库中的数据，进行数据结构转换后，写入目标端数据库中。
   1. 在左侧的导航栏选择"数据集成 FDI \> 任务管理"，单击页面的"创建普通任务"。
   
   2. 在创建任务页面中配置任务基本信息。
      表3任务基本信息 
      | 参数   | 配置说明                                                                                                                                                                                                                                                                                                                              |
      |:---|:---|
      | 任务名称 | 填写任务的名称，根据规划自定义。建议您按照一定的命名规则填写任务名称，方便您快速识别和查找。                                                                                                                                                                                                                                                                                    |
      | 描述   | 填写任务的描述信息。                                                                                                                                                                                                                                                                                                                        |
      | 集成模式 | 选择数据集成的模式。 - 定时：指数据集成任务根据任务计划，在指定的时间执行任务，将源端数据集成到目标端。  - 实时：指数据集成任务不断检测源端数据的变更，并实时将新增的数据集成到目标端。   使用Kafka作为源端数据源时仅支持实时任务，此处选择"实时"。 |
      | 任务标签 | 添加任务标签，用来对任务进行分类，方便用户快速查询。                                                                                                                                                                                                                                                                                                        |
      | 企业项目 | 选择任务所属的企业项目，保持默认设置"default"。                                                                                                                                                                                                                                                                                                      |
         
      
   
   3. 配置源端数据信息。
      表4源端信息 
      | 参数      | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      |:---|:---|
      | 源端实例    | 选择当前正在使用的ROMA Connect实例。                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
      | 源端集成应用  | 选择源端Kafka数据源所属的集成应用，在[接入数据源]时已配置。                                                                                                                                                                                                                                                                                                                                                                                                           |
      | 源端数据类型  | 选择"Kafka"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      | 数据源名称   | 选择[接入数据源]中已配置的Kafka数据源。                                                                                                                                                                                                                                                                                                                                                                                                                     |
      | Topic名称 | 选择要读取数据的Topic名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
      | 是否解析    | 获取到的源端数据是否由ROMA Connect做进一步的数据解析。 - 若选择是，则ROMA Connect根据配置的解析规则，对获取到的源端数据解析后再集成到目标端。  - 若选择否，则ROMA Connect会直接透传获取到的源端数据，并集成到目标端。   本实践中需要对源端数据进行数据结构转换后，再写入目标端数据库，此处选择"是"。                                                                                                         |
      | 数据根字段   | 指从源端获取到的JSON或XML格式数据中，元数据集上层公共字段的路径。此处不设置。                                                                                                                                                                                                                                                                                                                                                                                                                                   |
      | 数据类型    | 选择从Kafka数据源获取的数据格式类型，需要与Kafka实际存储的数据格式一致。                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      | 消费偏移设置  | 选择集成最早获取的消息数据还是最新获取的消息数据。                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      | 元数据     | 指从源端获取到的JSON或XML格式数据中，要集成到目标端的每一个底层key-value型数据元素。 - 别名：对元数据的自定义名称。  - 类型：元数据的数据类型，需要与源端数据中对应字段的数据类型一致。  - 解析路径：由于数据根字段不设置，此处填写元数据的完整路径。   以JSON格式数据**{"a": {"b": "xx", "c": "xx"}}**为例，参数b和c为底层数据元素，其解析路径分别为a.b和a.c。 |
      | 时区      | 选择Kafka数据源使用的时区，以便ROMA Connect识别数据的时间戳，默认为GMT+8:00时区（北京时间）。                                                                                                                                                                                                                                                                                                                                                                                                                  |
         
      
   
   4. 配置目标端数据信息。
      表5目标端信息 
      | 参数      | 配置说明                                                                                                                                                                   |
      |:---|:---|
      | 目标端实例   | 配置为当前正在使用的ROMA Connect实例，源端实例配置后目标端自动关联，无需配置。                                                                                                                          |
      | 目标端集成应用 | 选择目标端MySQL数据源所属的集成应用，在[接入数据源]时已配置。                                                                                                    |
      | 目标端数据类型 | 选择"MySQL"。                                                                                                                                                             |
      | 数据源名称   | 选择[接入数据源]中已配置的MySQL数据源。                                                                                                               |
      | 目标端表    | 选择集成数据要写入MySQL数据库中的数据表。 选择数据表后，单击"选择表字段"，可以选择要写入数据的列字段。                                                                                 |
      | 批次号字段   | 选择目标表中类型为String并且字段长度大于14的字段作为批次号字段，且该批次号字段不能和Mapping信息中的目标字段重复。 该字段值将为一个随机数，用来标识同一批次的数据，同一批次插入的数据具有相同的批次号，表示这些数据是同一批次插入的，可以用来定位或者解析回滚。 |
      | 是否清空表   | 开启后，每次调度任务会先清空目标端表。                                                                                                                                                    |
         
      
   
   5. 配置源端到目标端的数据映射规则。 单击"自动Mapping"，自动建立源端和目标端数据字段间的映射规则。如果两端的数据表字段不一致，您需要为目标端字段选择对应的源端字段。
      
   
   6. 单击"保存"，完成数据集成任务的创建。
     
 
#### 启动数据集成任务
数据集成任务创建后，"任务状态"为"停止"状态，此时任务不会执行，需先启动任务。
- 实时任务启动后，ROMA Connect会不断检测源端数据变更。首次执行时，会把所有符合条件的源端数据集成到目标端，后续若检测到新增数据，则将其集成到目标端。
- 定时任务启动后，ROMA Connect按照任务计划进行数据集成。首次执行时，会把所有符合条件的源端数据集成到目标端，后续根据任务配置，集成符合条件的全量数据或只集成增量数据。
1. 启动数据集成任务。 在数据集成任务左侧勾选上要启动的任务，单击任务列表上方的"启动"，启动任务。任务启动成功后，"任务状态"变为"启动"。
   
2. 任务启动后，任务状态为"执行中"，待任务状态为"执行成功"，则表示该数据集成任务执行完成。
3. 执行完成后，可在目标端数据库的数据表中查看集成同步过来的数据。
 
