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

开发流程

配置任务的操作步骤如下所示:
  1. 新建数据源。
  2. 新建离线同步节点。
  3. 导入模板。
  4. 配置同步任务的读取端。
  5. 配置同步任务的写入端。
  6. 配置字段的映射关系。
  7. 配置作业速率上限、脏数据检查规则等信息。
  8. 配置调度属性。

新建数据源

同步任务支持多种同构、异构数据源间的数据传输。首先,在工作空间管理 > 数据源页面,新增需要同步的数据源,详情请参见配置数据源

新增数据源后,在数据集成配置同步任务时,可以直接进行选择。数据集成支持同步的数据源类型请参见支持的数据源
说明
  • 数据集成不支持部分数据源的测试连通性,详情请参见数据源测试连通性
  • 数据源创建在本地,没有公网IP或网络无法到达的情况下,测试连通性会失败。数据集成支持自定义资源组解决网络不可达的情况。详情请参见新增自定义资源组

    如果网络不可达,您在向导模式中无法获取表结构等信息,请通过脚本模式新建同步任务。

新建业务流程

  1. 登录DataWorks控制台
  2. 在左侧导航栏,单击工作空间列表
  3. 单击相应工作空间后的进入数据开发
  4. 数据开发页面,鼠标悬停至新建图标,单击业务流程
  5. 新建业务流程对话框,输入业务名称描述
    注意 业务名称必须是大小写字母、中文、数字、下划线(_)以及小数点(.),且不能超过128个字符。
  6. 单击新建

新建离线同步节点

  1. 展开业务流程,右键单击数据集成
  2. 单击新建 > 离线同步
  3. 新建节点对话框,输入节点名称,并选择目标文件夹
    注意 节点名称必须是大小写字母、中文、数字、下划线(_)以及小数点(.),且不能超过128个字符。
  4. 单击提交

导入模板

  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工作的开始,所以没有上游节点,此时建议使用工作空间根节点作为上游。

完成离线同步节点的配置后,请保存并提交节点。详情请参加调度配置