自定义RDBMS数据库及同步数据

为了满足不同业务场景数据集成的诉求,Dataphin支持用户自定义当前系统不支持的RDBMS数据库(关系型数据库)类型的组件,并进行数据同步。您只需要准备关系型数据库的驱动,即可自定义RDBMS数据库类型的组件。本教程以MySQL为例,为您介绍如何自定义RDBMS数据库及进行数据同步。

前提条件

  • 已开通RDS MySQL实例,且网络类型为专有网络(VPC)。如何开通RDS MySQL实例,请参见快速创建RDS MySQL实例

  • 已创建RDS MySQL实例的数据库和账号,创建过程中需要您记录数据库名称、用户名和密码。如何创建数据库和账号,请参见创建数据库和账号

  • 已下载MySQL数据库的驱动

背景信息

RDBMS数据库即关系型数据库,包括MySQL、Oracle、SQL Server、PostgreSQL、Vertica、DRDS、DB2、OceanBase、PolarDB、SAP HANA和TeraData。本教程以MySQL为例,带您体验自定义RDBMS数据库,并进行数据同步。

操作流程

自定义并应用MySQL数据库组件的流程如下:

步骤

描述

步骤一:配置网络和创建数据表

在您开始自定义并应用RDBMS数据库组件前,需要配置RDS MySQL实例和Dataphin间的网络,及创建同步数据的源表和目标表。

步骤二:创建自定义数据源

自定义数据源的类型为test_rdbms_mysql。完成定义后,即可在组件库的开发模块下查询到自定义的数据源组件。

步骤三:创建数据源实例

基于自定义的数据源组件类型(test_rdbms_mysql),创建test_rdbms_mysql类型的数据源实例。完成创建数据源实例后,即可将RDS MySQL实例的业务数据引入至Dataphin实例。

步骤四:创建离线管道任务

基于自定义的数据源组件类型(test_rdbms_mysql)和数据源实例(test_rdbms_mysql),创建离线管道任务。完成离线管道任务的创建后,即可运行离线管道任务,以实现数据的集成(同步数据)。

步骤一:配置网络和创建数据表

  • 连通RDS MySQL实例与Dataphin实例间的网络。

    • 添加RDS MySQL实例的外网地址和端口至Dataphin项目空间的沙箱白名单:

      1. 获取RDS MySQL实例的外网地址、端口。

        进入数据库连接页面,获取RDS MySQL实例的外网地址和端口。faga

      2. 添加RDS MySQL实例的外网地址和端口至Dataphin项目空间的沙箱白名单。如何添加沙箱白名单,请参见添加项目成员

    • 添加Dataphin的IP至RDS MySQL实例的白名单。如何添加Dataphin的IP至RDS MySQL实例的白名单,请参见通过客户端、命令行连接RDS MySQL实例

      地域

      IP白名单

      华东2(上海)

      100.104.228.128/26、100.104.115.192/26

      华南1(深圳)

      100.104.48.128/26

      华北2(北京)

      100.104.238.64/26

      华东2(上海)、华南1(深圳)、华北2(北京)

      100.104.0.0/16

  • 创建同步数据的源数据表和目标数据表。

    使用命令行方式连接MySQL实例,连接后创建同步数据的源数据表和目标数据表。如何连接MySQL实例,请参见通过客户端、命令行连接RDS

    • 创建源数据表的代码示例如下。

      create table xin_test_scr2
      (
      id string,
      name string
      );
      
      insert into xin_test_scr2 values('1001','huayu1'),('1002','huayuyu2'),
    • 创建目标数据表的代码示例如下。

      create table xin_test_det_1
      (    
      id string,    
      name string
      );

步骤二:创建自定义数据源

  1. 登录Dataphin控制台

  2. 在Dataphin控制台页面,选择工作区地域后,单击进入Dataphin>>

  3. 进入自定义组件页面。

    1. 在Dataphin首页,单击管理中心

    2. 在管理中心页面,单击顶部菜单栏数据源管理

    3. 在自定义源类型页面,单击+新建离线自定义源类型

  4. 新建离线自定义源类型页面,配置参数。

    参数

    描述

    基本配置

    类型

    选择类型RDBMS数据库

    名称

    填写名称test_rdbms_mysql

    重要

    因为名称定义了自定义组件的类型,所以系统不支持创建相同名称的自定义组件。

    类型编码

    用于数据源类型的唯一标识编码,供后端使用。填写为rdbms_mysql

    资源配置

    驱动名称

    填写驱动名称com.mysql.jdbc.Driver

    驱动上传

    上传已下载的驱动文件(mysql-connector-java-5.1.47)。请参见前提条件

    描述信息

    描述

    填写为mysql-5.1.47数据库

  5. 单击创建

步骤三:创建数据源实例

  1. 在数据源管理页面,单击页面右上角的+新建数据源

  2. 在新建数据源对话框中,选择自定义数据源下的test_rdbms_mysql数据源。

  3. 新建test_rdbms_mysql数据源对话框,配置参数。

    参数

    描述

    数据源名称

    填写数据源名称test_rdbms_mysql

    数据源描述

    填写数据源的简单描述。

    数据源配置

    配置数据源:

    • 如果开发模式是Basic模式,则选择生产数据源

    • 如果开发模式是Dev-Prod模式,则可以通过以下方式配置数据源:

      • 单击生产+开发数据源,配置生产环境和开发环境的数据源。

      • 单击生产数据源,配置生产数据源。完成生产数据源的创建后,单击开发数据源,配置开发环境的数据源。

    说明

    系统支持配置生产数据源开发数据源为相同的数据源,也可以配置为不同的数据源。

    标签

    非必填,配置数据源的标签分类。

    生产数据源生产+开发数据源

    链接地址

    填写数据源的链接地址。

    链接地址的格式为:jdbc:mysql://{Public Endpoint}:3306/{DatabaseName}

    • {Public Endpoint}:外网地址。

    • {DatabaseName}:数据库名称。

    用户名

    登录数据库的用户名。

    密码

    登录数据库的密码。

  4. 单击测试链接,测试数据源的连通性。

    重要

    非RDBMS类型数据源不支持连接测试,请您务必保证数据源连接信息的准确性。

  5. 单击确定

步骤四:创建并开发离线管道任务

  1. 在数据源页面,鼠标悬停至左上角image.png图标后,单击集成

  2. 在数据集成页面,进入创建管道开发脚本对话框。

    1. 单击左侧导航栏离线管理,进入离线管道开发页面。

    2. 在离线管道开发页面,单击image.png并选择离线单条管道,进入创建管道开发脚本对话框。

  3. 在创建管道开发脚本对话框,配置参数。

    参数

    描述

    管道名称

    填写为test

    调度类型

    选择为手动节点

    描述

    填写简单的描述。例如,测试自定义组件

    选择目录

    默认为离线管道

  4. 单击确定

  5. 在test离线管道页面,单击页面右上角的image.png后,单击选择自定义。

  6. 拖动组件custom_test_rdbms_mysql_输入配置custom_test_rdbms_mysql_输出配置至左侧的管道画布中。

  7. 连接输入与输出组件并单击image.png配置组件。如下图所示:

    image.png

    • custom_test_rdbms_mysql_输入组件配置。

      参数

      描述

      步骤名称

      本教程中保持默认。

      您也可以修改名称。步骤名称命名规则如下:只能包括字母、数字和短划线(-)。长度为64字符以内。

      数据源

      选择test_rdbms_mysql

      填写来源表为xin_test_src2

      输入过滤

      本教程中无需配置。

      输入过滤即填写输入字段的过滤信息,例如ds=${bizdate}

      输入过滤适用于以下两种场景:

      • 固定的某一部分数据。

      • 参数过滤。

      输出字段

      输出字段即需要同步数据的字段。本教程中添加源表xin_test_scr2中的idname字段为输入组件的输出字段:

      1. 输出字段区域,单击新建输出字段

      2. 填写输出字段id类型选择为String

      3. 单击新建输出字段

      4. 填写输出字段name类型选择为String

    • custom_test_rdbms_mysql_输出组件配置。

      参数

      描述

      步骤名称

      本教程中保持默认。

      您也可以修改名称。步骤名称命名规则如下:只能包括字母、数字和短划线(-)。长度为64字符以内。

      数据源

      选择test_rdbms_mysql

      填写目标表为xin_test_dst_1

      解析方案

      本教程中无需选择。

      解析方案为非必填项。选择数据输出前和输出完成的一些特殊处理方式。解析方案包括填写准备语句和填写完成语句: 填写准备语句:导入前执行的SQL脚本。填写完成语句:导入后执行的SQL脚本。

      输入字段

      默认展示输入组件中配置的输出字段。

      输出字段

      输出字段即需要同步数据的字段。本教程中添加源表xin_test_scr2中的idname字段为输出组件的输出字段:

      1. 输出字段区域,单击新建输出字段

      2. 填写输出字段id类型选择为String

      3. 单击新建输出字段

      4. 填写输出字段name类型选择为String

      映射关系

      单击快速映射后,选择同名映射

      映射关系指的是输入组件的输出字段和输出组件的输出字段间的映射关系。映射关系包含同名映射和同行映射:

      • 同名映射:映射字段名称相同的字段。

      • 同行映射:映射同行的字段。同行映射后,输入字段为最终的输出字段。

  8. 单击确定

  9. 单击画布工具栏运行,运行离线管道任务,查看任务是否正常执行。

    image.png