You need to enable JavaScript to run this app.
文档中心
大数据研发治理套件(私有化)

大数据研发治理套件(私有化)

复制全文
离线整库同步
库表映射规则说明
复制全文
库表映射规则说明

目前,离线整库方案提供了“与来源库表同名”和“自定义”两种库表匹配策略。

与来源库表同名

在对应数据源下,选择源端需要同步的数据库表后,默认将源端数据库表,写入到目标端同名的数据库和同名数据表中。此策略下,在方案运行时,默认将在目标数据源内与来源数据库表中的同名对象进行匹配,若目标端不存在该数据表,则方案将会自动生成同名数据表。

说明

目前暂不支持自动创建同名数据库,您需先在目标端LAS中创建好同名的数据库。

示例如下:
将源端数据库DB1下的TableA和TableB同步至LAS ,配置“**与来源库表同名”**策略后,任务运行时将默认在目标数据源内分别匹配“DB1.TableA”和“DB1.TableB”。
若目标端DB1下不存在Table1,则自动生成TableA;已存在TableB,则直接使用目标端的TableB。

自定义

同时我们提供了三种对库表映射规则进行转换的配置方式。
您在源端选中需要同步的数据库表后,将通过设置库表映射规则,例如在源端数据库名或表名中加上统一固定的前缀或后缀,在方案执行时,实现写入到转换后的目标端数据库和数据表中,提升方案配置效率。

说明

目前暂不支持自动创建同名数据库,您需先在目标端库中创建好转换后的数据库名称。

以下为您介绍三种自定义的库表映射规则:

映射规则

说明

源库名和目标库名转换规则

配置源库名到目标库名的映射关系,如不配置此项,目标库将使用与来源库同名的库。

  • 单击添加规则按钮,进行转换规则添加,您可以配置多条转换规则,源库名支持正则,不可使用变量,如果规则发生冲突,后一条规则会覆盖前一条规则。
    目标库名支持 ${src_db_name} 变量,如:prefix_${src_db_name}_suffix
  • 单击批量添加按钮,您可在弹窗中批量输入转换规则,批量添加方式说明如下:
    • 映射格式为:
      源名=目标名,源名在前,目标名在后,中间用等号连接,源名支持使用正则表达式或数组形式匹配。多个映射表达式,可使用“换行”作为分隔符。
    • 填写示例:
      sourcetablename.*?=sinktablename
      sourcetablename[0-9]=sinktablename
      sourcetablename1=sinktablename1
      sourcetablename2=sinktablename2
      

说明

批量添加方式,最多添加 1000 个转换规则。

源表名和目标表名转换规则

配置源表名到目标表名的映射关系,如不配置此项,目标表将使用与来源表同名的表。
转换规则配置方式同上方库名转换规则一致。
其中目标表名支持 ${src_db_name}、${src_schema_name}、${src_table_name} 三种变量,如:prefix_${src_db_name}_${src_table_name}_suffix

说明

实时整库同步解决方案,支持设置多个表名转换规则和批量添加规则。

目标表名规则

仅离线整库同步方案可配置该规则。
支持设置单条目标表的规则,如果设置此规则,“源表名与目标表名转换规则”中转换结果将作为中间结果,可通过变量 ${table_name_src_transed} 在此条规则中使用。
例如 test_${table_name_src_transed}。

说明

内置变量说明:

  • 适用于类似 MySQL 这种“库-表”两层结构的数据源,映射到 LAS 这类“库-表”两层结构的数据源,定义了两个内置变量:
    • ${db_name_src_transed}:通过源库名与目标库名转换规则转换后的库名;
    • ${table_name_src_transed}:通过源表名与目标表名转换规则转换后的表名。
  • 对于 SQLServer、PostgreSQL 这类“库-Schema-表”三层结构的数据源,到 LAS 这类“库-表”两层结构的数据源,额外增加了内置变量:${schema_name_src_transed}。

内置变量仅可在“目标表名规则”中使用,

自定义库表匹配策略示例

下面以MySQL和PostgreSQL数据源中的库表,映射转换到目标端LAS数据库表中为例,为您示例映射转换的匹配策略。

  • 源端MySQL数据库中存在DB1、DB2两个数据库;DB1下已有表Table1、DB2下已有表Table2。
    MySQL-LAS转换示例

    源端

    源库名和目标库名转换规则

    源表名和目标表名转换规则

    目标表名规则

    目标端转换结果

    示例1

    DB1.Table1 DB2.Table2

    • DB1 > Target_DB1;
    • DB2 > Target_DB2

    Table1 > Target_Table1

    • Target_DB1.Target_Table1;
    • Target_DB2.Table2

    示例2

    DB1.Table1 DB2.Table2

    • DB1 > Target_DB1;
    • DB1 > Target_DB1_1

    • Target_DB1_1.Table1;
    • DB2.Table2

    示例3

    DB1.Table1 DB2.Table2

    Table1 > Target_Table1

    test

    • DB1.test;
    • DB2.test

    示例4

    DB1.Table1 DB2.Table2

    DB1 > Target_DB1

    Table1 > Target_Table1

    ${db_name_src_transed}test${table_name_src_transed}

    • Target_DB1.Target_DB1_test_Target_Table1;
    • DB2.DB2_test_Table2
  • 源端PostgreSQL数据库中存在DB数据库,DB下有Schema1和Shcema2,Schema1下已有表Table1,Shcema2下已有表Table2。
    PostgreSQL-LAS转换示例

    源端

    源库名和目标库名转换规则

    源表名和目标表名转换规则

    目标表名规则

    目标端转换结果

    示例1

    • DB.Schema1.Table1
    • DB.Shcema2.Table2

    • DB.Table1;
    • DB.Table2

    示例2

    • DB.Schema1.Table1
    • DB.Shcema2.Table2

    DB > Target_DB

    • Table1 > Target_Table1
    • Table2 > Target_Table2

    • Target_DB.Target_Table1;
    • Target_DB.Target_Table2

    示例3

    • DB.Schema1.Table1
    • DB.Shcema2.Table2

    DB > Target_DB

    Table1 > Target_Table1

    ${db_name_src_transed}test${table_name_src_transed}

    • Target_DB.Target_DB_test_Target_Table1;
    • Target_DB.Target_DB_test_Table2

    示例4

    • DB.Schema1.Table1
    • DB.Shcema2.Table2

    DB > Target_DB

    Table1 > Target_Table1

    ${table_name_src_transed}_${schema_name_src_transed}

    • Target_DB.Target_Table1_schema1;
    • Target_DB.Table2_schema2
最近更新时间:2024.12.20 15:37:34
这个页面对您有帮助吗?
有用
有用
无用
无用