通过DataWorks控制台将表格存储中的全量数据导出到MaxCompute中。

步骤一:新增表格存储数据源

将表格存储数据库添加为数据源,具体操作步骤如下:

  1. 以项目管理员身份登录DataWorks控制台
    说明 仅项目管理员角色可以新增数据源,其他角色的成员仅可查看数据源。
  2. 选择区域,在左侧导航栏,单击工作空间列表
  3. 工作空间列表页面,单击工作空间操作区域的进入数据集成
  4. 在数据集成控制台,单击数据源管理
  5. 新增数据源。
    1. 数据源管理页面,单击新增数据源
    2. 新增数据源对话框的NoSQL区域,选择数据源类型为OTS
    3. 新增OTS数据源对话框,配置参数。
      fig_otssource
      参数 说明
      数据源名称 数据源的名称,例如gps_data。
      数据源描述 数据源的描述信息。
      Endpoint 填写目标Tablestore实例的服务地址
      • 如果Tablestore实例和MaxCompute在同一个地域,填写经典网地址。
      • 如果Tablestore实例和MaxCompute不在同一个地域,填写公网地址。
      • 不能填写VPC地址。
      Table Store实例名称 Tablestore实例的名称。
      AccessKey ID 登录账户的AccessKeyID和AccessKeySecret,获取方式请参见为RAM用户创建访问密钥
      AccessKey Secret
    4. 单击测试连通性,测试数据源的连通状态。
  6. 单击完成
    数据源管理页面,会显示该数据源信息。

步骤二:新增MaxCompute数据源

操作与步骤一类似,只需在Big Data Storage区域,选择数据源类型为MaxCompute(ODPS)

本示例中,该数据源名称使用OTS2ODPS,如下图所示。

fig_odps_001

步骤三:新建同步任务

新建并配置表格存储到MaxCompute的同步任务,具体操作步骤如下:

  1. 以项目管理员身份登录DataWorks控制台
    说明 仅项目管理员角色可以新增数据源,其他角色的成员仅可查看数据源。
  2. 选择区域,在左侧导航栏,单击工作空间列表
  3. 工作空间列表页面,单击工作空间操作中的进入数据集成
  4. 新建同步任务节点。
    每个同步任务都需创建一个相应的节点。
    1. 在数据集成控制台的首页,单击新建同步任务
    2. 新建节点对话框,输入节点名称,选择一个目标文件夹。
      fig_newtask
    3. 单击提交
  5. 配置数据源。
    1. 数据集成节点下,双击同步任务节点。
    2. 在同步任务节点的编辑页面的选择数据源区域,配置数据来源和数据去向。
      • 配置数据来源。

        选择数据来源数据源OTS,并单击script图标或者点击转换为脚本,进行脚本配置。

        说明 表格存储仅支持脚本模式,配置脚本的详情请参见配置Tablestore(OTS)Reader配置Stream Writer
        {
        "type": "job",
        "version": "1.0",
        "configuration": {
        "setting": {
          "errorLimit": {
            "record": "0"    # 能够允许的最大错误数。
          },
          "speed": {
            "mbps": "1",   # 最大的流量,单位为MB。
            "concurrent": "1"  # 并发数。
          }
        },
        "reader": {
          "plugin": "ots",  # 读取的插件名称。
          "parameter": {
            "datasource": "",  # 数据源名称。
            "table": "",  # 数据表名称。
            "column": [  # 需要导出到MaxCompute中去的表格存储中的列名。
              {
                "name": "column1"
              },
              {
                "name": "column2"
              },
              {
                "name": "column3"
              },
              {
                "name": "column4"
              },
              {
                "name": "column5"
              }
            ],
            "range": {  # 需要导出的数据范围,如果是全量导出,则需要从INF_MIN到INF_MAX。
              "begin": [ # 需要导出数据的起始位置,最小的位置是INF_MIN。begin中的配置项数目个数和表格存储中相应表的主键列个数一致。
                {
                  "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": [  # 配置分区范围,一般可以不配置,如果性能较差,可以提交工单或者加入钉钉群23307953联系表格存储技术支持人员处理。
                {
                  "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  # 是否清空之前的数据。
          }
        }
        }
        }
      • 配置数据去向。

        选择数据去向数据源ODPS,并选择对应的

      fig_ots2odps
    3. 单击save图标,保存数据源配置。
  6. 运行同步任务。
    1. 单击start图标。
    2. 参数对话框,选择调度的资源组。
    3. 单击确定,开始运行任务。
      运行结束后,在运行日志页签中可以查看任务是否成功和导出的数据行数。

步骤四:定时执行同步任务

  1. 以项目管理员身份登录DataWorks控制台
    说明 仅项目管理员角色可以新增数据源,其他角色的成员仅可查看数据源。
  2. 选择区域,在左侧导航栏,单击工作空间列表
  3. 工作空间列表页面,单击工作空间操作中的进入数据开发
  4. 在DataStudio控制台的数据开发页面,单击业务流程节点下的目标业务流程。
  5. 配置调度参数。
    通过调度配置,可以配置同步任务的执行时间、重跑属性、调度依赖等。
    1. 数据集成节点下,双击同步任务节点。
    2. 在同步任务节点的编辑页面的右侧单击调度配置,进行调度参数配置,详情请参见配置调度和依赖属性
  6. 提交同步任务。
    1. 在同步任务节点的编辑页面,单击submit图标。
    2. 提交新版本对话框,输入备注信息。
    3. 单击确认
      将同步任务提交到调度系统后,调度系统会根据配置的调度参数,自动定时执行同步任务。

步骤五:查看同步任务

  1. 以项目管理员身份登录DataWorks控制台
    说明 仅项目管理员角色可以新增数据源,其他角色的成员仅可查看数据源。
  2. 选择区域,在左侧导航栏,单击工作空间列表
  3. 工作空间列表页面,单击工作空间操作中的进入运维中心
  4. 在运维中心控制台,选择周期任务运维 > 周期任务
  5. 周期任务页面,查看提交的同步任务详情。
    • 在左侧导航栏中,选择周期任务运维 > 周期实例,可以查看当天需要运行的周期任务。单击实例名称,可以查看任务运行详情。
    • 当单个任务在运行中或运行结束后,可以查看日志。
    fig_ots2Maxcompute

步骤六:查看导入到MaxCompute中的数据

  1. 以项目管理员身份登录DataWorks控制台
    说明 仅项目管理员角色可以新增数据源,其他角色的成员仅可查看数据源。
  2. 选择区域,在左侧导航栏,单击工作空间列表
  3. 工作空间列表页面,单击工作空间操作区域的进入数据地图
  4. 在数据地图控制台的导航栏,选择我的数据 > 我管理的数据
  5. 我管理的数据页签,单击导入数据的表名称。
  6. 在表详情页面,单击数据预览页签,查看导入的数据。