本文将为您介绍如何通过数据集成的脚本模式进行任务配置。

任务配置的操作步骤如下所示:
  1. 新建数据源。
  2. 新建数据同步节点。
  3. 导入模板。
  4. 配置同步任务的读取端。
  5. 配置同步任务的写入端。
  6. 配置字段的映射关系。
  7. 配置作业速率上限、脏数据检查规则等信息。
  8. 配置调度属性。
说明 下文将为您介绍操作步骤的具体实现,以下每个步骤都会跳转到对应的指导文档中,请在完成当前步骤后,单击链接回到本文,继续下一步操作。

新建数据源

同步任务支持多种同构、异构数据源间的数据传输。首先,将需要同步的数据源在数据集成中完成注册。注册完成后,在数据集成配置同步任务时,可以直接选择数据源。数据集成支持同步的数据源类型请参见支持的数据源

确认需要同步的数据源已经被数据集成支持后,可以开始在数据集成中注册数据源。详细的数据源注册步骤请参见配置数据源信息

说明
  • 有部分数据源数据集成不支持测试连通性,数据源测试连通性的支持详情请参见数据源测试连通性
  • 很多时候,数据源都是创建在本地,没有公网IP或网络无法直达。在这种情况下,配置数据源的时候测试连通性会直接失败,数据集成支持新增任务资源来解决这种网络不可达的情况。但在新建同步任务的时候只能选择脚本模式(因为网络不可直达,在向导模式中就无法获取表结构等信息)。

新建数据同步节点

说明 本文主要为您介绍向导模式下的同步任务配置,在数据集成中新建同步任务时请选择脚本模式
  1. 以开发者身份进入DataWorks控制台,单击对应工作空间操作栏中的进入数据开发
  2. 进入DataStudio(数据开发)页面,选择新建 > 业务流程

  3. 新建业务流程对话框中,填写业务流程名称描述,单击新建
  4. 展开业务流程,右键单击数据集成,选择新建数据集成节点 > 数据同步,输入节点名称

  5. 单击提交

导入模板

  1. 成功创建数据同步节点后,单击工具栏中的转换脚本

  2. 单击提示对话框中的确认,即可进入脚本模式进行开发。

    说明 脚本模式支持更多功能,例如网络不可达情况下的同步任务编辑。
  3. 单击工具栏中的导入模板

  4. 导入模板对话框中,选择来源类型数据源目标类型数据源

  5. 单击确认

配置同步任务的读取端

新建同步任务完成后,通过导入模板已生成了基本的读取端配置。此时您可以继续手动配置数据同步任务的读取端数据源,以及需要同步的表信息等。
{"type": "job",
    "version": "2.0",
    "steps": [   //上述配置为整个同步任务头端代码,可以不进行修改。
        {
            "stepType": "mysql",
            "parameter": {
                "datasource": "MySQL",
                "column": [
                    "id",
                    "value",
                    "table"
                ],
                "socketTimeout": 3600000,
                "connection": [
                    {
                        "datasource": "MySQL",
                        "table": [
                            "`case`"
                        ]
                    }
                ],
                "where": "",
                "splitPk": "",
                "encoding": "UTF-8"
            },
            "name": "Reader",
            "category": "reader"    //说明分类为reader读取端。
        },    //以上配置为读取端配置。
配置项说明如下:
  • type:指定本次提交的同步任务,仅支持Job参数,所以您只能填写为Job。
  • version:目前所有Job支持的版本号为1.0或2.0。
说明
  • 选择读取端的数据源时,请参见配置Reader中的脚本开发介绍。
  • 很多任务在配置读取端数据源时,需要进行数据增量同步。此时可以结合DataWorks提供的参数配置来获取相对日期,以完成获取增量数据的需求。

配置同步任务的写入端

配置完成读取端数据源信息后,可以继续手动配置数据同步任务的写入端数据源,以及需要同步的表信息等。

{ 
  "stepType": "odps",
  "parameter": {
      "partition": "",
      "truncate": true,
      "compress": false,
      "datasource": "odps_first",
      "column": [
          "*"
       ],
       "emptyAsNull": false,
       "table": ""
     },
     "name": "Writer",
     "category": "writer"   //说明分类为writer写入端。
   }
 ],    //以上配置为读取端配置。
说明
  • 选择写入端的数据源时,请参见配置Writer
  • 很多任务在写入时,需要选择写入模式。例如覆盖写入还是追加写入,针对不同的数据源,有不同的写入模式。

配置字段的映射关系

脚本模式仅支持同行映射,可以在同行建立相应的映射关系,请注意匹配数据类型。

说明 请注意列与列之间映射的字段类型是否数据兼容。

配置通道控制

当上述步骤都配置完成后,则需进行效率配置。setting域描述的是Job配置参数中除源端、目的端外,有关Job全局信息的配置参数。您可以在setting域中进行效率配置,主要包括同步并发数设置、同步速率设置、同步脏数据设置和同步资源组设置等信息。

"setting": {
        "errorLimit": {
            "record": "1024"   //脏数据条目设置。
        },
        "speed": {
            "throttle": false,   //是否进行限速。
            "concurrent": 1,  //同步并发数设置。   
        }
    },
配置 说明
任务期望最大并发数 数据同步任务内,可以从源并行读取或并行写入数据存储端的最大线程数。向导模式通过界面化配置并发数,指定任务所使用的并行度。
同步速率 设置同步速率可以保护读取端数据库,以避免抽取速度过大,给源库造成太大的压力。同步速率建议限流,结合源库的配置,请合理配置抽取速率。
错误记录数 错误记录数,表示脏数据的最大容忍条数。
任务资源组 单击当前页面右上角的配置任务资源组,即可指定资源组配置。

任务运行的机器,如果任务数比较多,使用默认资源组出现等待资源的情况,建议购买独享数据集成资源或添加自定义资源组,详情请参见DataWorks独享资源新增任务资源

配置调度属性

数据同步节点中,经常需要使用调度参数进行数据过滤,下文将为您介绍如何在同步任务中配置调度参数。

进入数据同步节点编辑界面,单击右侧的调度配置

您可以设置数据同步节点的运行周期、运行时间和调度依赖等属性。由于数据同步节点是ETL工作的开始,所以没有上游节点,此时建议使用工作空间根节点作为上游。

完成数据同步节点的配置后,请保存并提交节点。