CREATE SYNC JOB

    目前数据同步作业只支持对接Canal,从Canal Server上获取解析好的Binlog数据,导入到Doris内。

    用户可通过 查看数据同步作业状态。

    语法:

    1. job_name

      同步作业名称,是作业在当前数据库内的唯一标识,相同job_name的作业只能有一个在运行。

    2. channel_desc

      作业下的数据通道,用来描述mysql源表到doris目标表的映射关系。

      1. FROM mysql_db.src_tbl INTO des_tbl
      2. [partitions]
      3. [columns_mapping]
      1. mysql_db.src_tbl

        指定mysql端的数据库和源表。

      2. des_tbl

        指定doris端的目标表,只支持Unique表,且需开启表的batch delete功能(开启方法请看help alter table的’批量删除功能’)。

      3. partitions

        指定导入目的表的哪些 partition 中。如果不指定,则会自动导入到对应的 partition 中。

        示例:

      4. 指定mysql源表和doris目标表的列之间的映射关系。如果不指定,FE会默认源表和目标表的列按顺序一一对应。

        不支持 col_name = expr 的形式表示列。

        示例:

        1. 假设目标表列为(k1, k2, v1),
        2. COLUMNS(k2, k1, v1)
        3. 忽略源数据的第四列
        4. COLUMNS(k2, k1, v1, dummy_column)
    3. binlog_desc

      用来描述远端数据源,目前仅支持canal一种。

      语法:

      1. Canal 数据源对应的属性,以canal.为前缀

        1. canal.server.ip: canal server的地址
        2. canal.server.port: canal server的端口
        3. canal.destination: instance的标识
        4. canal.batchSize: 获取的batch大小的最大值,默认8192
        5. canal.username: instance的用户名
        6. canal.password: instance的密码
        7. canal.debug: 可选,设置为true时,会将batch和每一行数据的详细信息都打印出来
      1. (
      2. )
      3. FROM BINLOG
      4. (
      5. "type" = "canal",
      6. "canal.server.ip" = "127.0.0.1",
      7. "canal.server.port" = "11111",
      8. "canal.destination" = "example",
      9. "canal.username" = "",
      10. "canal.password" = ""
      11. );
    1. test_db 的多张表创建一个名为 job1 的数据同步作业,一一对应多张Mysql源表,并显式的指定列映射。