数据集成(Data Integration)产品提供数据同步服务,有向导模式和脚本模式两种方式。向导模式更简单,脚本模式更灵活。

本节介绍如何将Table Store中的全量数据(Put/Update/Delete)通过数据集成全量导出到MaxCompute中。

步骤1. 创建Table Store数据源

说明
  • 如果已经创建了Table Store的数据源,可以跳过此步骤。
  • 如果您不希望创建数据源,也可以在后续的配置页面中配置相应的endpoint、instanceName、AccessKeyID和AccessKeySecret。

创建数据源的具体步骤,请参见创建Table Store数据源

步骤2. 创建MaxCompute数据源

本操作与步骤1类似,只是选择MaxCompute (ODPS)作为数据源。

本示例中,该数据源名称使用OTS2ODPS。

步骤3. 创建全量导出通道

  1. 大数据开发套件页面单击同步任务
  2. 选择脚本模式
  3. 在弹出的导入模板对话框中,来源类型选择OTS,目标类型选择ODPS。
  4. 单击确认,进入配置页面。
  5. 设置配置参数。
    {
    "type": "job",
    "version": "1.0",
    "configuration": {
    "setting": {
      "errorLimit": {
        "record": "0"    # 能够允许的最大错误数
      },
      "speed": {
        "mbps": "1",   # 最大的流量,单位MB。
        "concurrent": "1"  # 并发数。
      }
    },
    "reader": {
      "plugin": "ots",  # 读取的插件名称
      "parameter": {
        "datasource": "",  # 数据源名称
        "table": "",  # 表名
        "column": [  # 需要导出到MaxCompute中去的Table Store中的列名
          {
            "name": "column1"
          },
          {
            "name": "column2"
          },
          {
            "name": "column3"
          },
          {
            "name": "column4"
          },
          {
            "name": "column5"
          }
        ],
        "range": {  # 需要导出的数据范围,如果是全量导出,则需要从INF_MIN到INF_MAX
          "begin": [ # 需要导出数据的起始位置,最小的位置是INF_MIN。begin中的配置项数目个数和Table Store中相应表的主键列个数一致。
            {
              "type": "INF_MIN"
            },
            {
              "type": "INF_MIN"
            },
            {
              "type": "STRING",  # 这个配置项的意思是:第三列的起始位置是begin1。
              "value": "begin1"
            },
            {
              "type": "INT",  # 这个配置项的意思是:第四列的起始位置是0。
              "value": "0"
            }
          ],
          "end": [  # 导出数据的结束位置
            {
              "type": "INF_MAX"
            },
            {
              "type": "INF_MAX"
            },
            {
              "type": "STRING",
              "value": "end1"
            },
            {
              "type": "INT",
              "value": "100"
            }
          ],
          "split": [  # 这一项配置分区范围,一般可以不配置,如果性能较差,可以提工单或者加入钉钉群:11789671 找工作人员协助您设置
            {
              "type": "INF_MIN"
            },
            {
              "type": "STRING",
              "value": "splitPoint1"
            },
            {
              "type": "STRING",
              "value": "splitPoint2"
            },
            {
              "type": "STRING",
              "value": "splitPoint3"
            },
            {
              "type": "INF_MAX"
            }
          ]
        }
      }
    },
    "writer": {
      "plugin": "odps",  # MaxCompute写入的插件名
      "parameter": {
        "datasource": "",  # MaxCompute的数据源名称
        "column": [],  # MaxCompute中的列名,这个列名顺序对应TableStore中的列名顺序
        "table": "",  # MaxCompute中的表名,需要提前创建好,否则任务会失败。
        "partition": "",  # 如果表为分区表,则必填。如果表为非分区表,则不能填写。需要写入数据表的分区信息,必须指定到最后一级分区。
        "truncate": false  # 是否清空之前的数据
      }
    }
    }
    }
    说明 详细的配置参数可参考配置Table Store Reader配置MaxCompute Writer
  6. 单击保存,保存任务。

步骤4. 运行任务(测试)

  1. 单击页面上方的运行,开始执行任务。

    如果配置里面没有变量,则会立即执行。如果有变量,则会要求填入变量的真实值,单击确认后开始运行。

  2. 运行结束后,在日志中可以查看任务是否成功和导出的数据行数。

步骤5. 设置调度参数

  1. 单击数据开发
  2. 任务开发标签中,双击打开已创建的任务OTStoODPS。

  3. 单击调度配置,设置调度参数。

    按照如下参数配置后,任务会从第二天开始执行。



    参数说明如下:

    参数 说明
    调度状态 默认不勾选,表示执行。
    出错重试 建议勾选,表示出错后会重试。
    生效日期 建议使用默认值。
    调度周期 本示例中,选择分钟。
    开始时间 本示例中,设为00时00分。
    调度间隔 本示例中,选择5分钟。
    结束时间 本示例中,设为23时59分。
    依赖属性 依赖属性区域,根据业务情况填写,或者使用默认值。
    跨周期依赖 选择自依赖,等待上一调度周期结束,才能继续运行
  4. 单击参数配置,配置参数。
    参数说明如下:
    参数 说明
    ${bdp.system.bizdate} 无需配置。
    startTime 调度配置中设置开始时间的变量。在本示例中,设为$[yyyymmddhh24miss-10/24/60],表示调度任务开始的时间减去10分钟。
    endTime 调度配置中设置结束时间的变量。在本示例中,设为$[yyyymmddhh24miss-5/24/60],表示调度任务开始的时间减去5分钟。

步骤6. 提交任务

  1. 在页面上方单击提交

  2. 在弹出的对话框中,单击确定提交

    提交成功后,显示当前文件为只读状态。

步骤7. 查看任务

  1. 单击运维中心

  2. 在左侧导航栏中,选择任务列表 > 周期任务,可以查看新建的任务OTStoODPS。
  3. 任务会从第二天的00点00分开始执行。
    • 在左侧导航栏中,选择任务运维 > 周期实例,查看当天需要运行的周期任务。单击实例名称,可以查看详情。
    • 当单个任务在运行中或运行结束后可以查看日志。

步骤8. 查看导入到MaxCompute中的数据

  1. 单击数据管理

  2. 在左侧导航栏,单击查找数据,会列出MaxCompute中的所有表。
  3. 找到刚刚导入数据的表(ots_gps_data),单击后进入该表的详情页。
  4. 单击数据预览页签,查看导入的数据。