MaxCompute数据迁移至OTS

本文为您介绍如何将MaxCompute数据迁移至表格存储OTS(Table Store)。

前提条件

操作步骤

  1. 在DataWorks上创建表。

    1. 登录DataWorks控制台

    2. 在左侧导航栏,单击工作空间列表

    3. 单击相应工作空间操作列的快速进入 > 数据开发

    4. 右键单击已创建的业务流程,选择新建 > MaxCompute > 

    5. 新建表页面,选择引擎类型并输入表名称

    6. 在表的编辑页面,单击DDL模式

    7. DDL对话框,输入如下建表语句,单击生成表结构

      create table Transs
      (name    string,
      id    bigint,
      gender    string);
    8. 单击提交到生产环境

  2. 为表Transs导入数据。

    1. 数据开发页面,单击

      导入

      图标。

    2. 数据导入向导对话框,至少输入3个字母来搜索需要导入数据的表,单击下一步

    3. 选择数据导入方式上传本地数据,单击选择文件后的浏览...。选择本地数据文件,配置导入信息。

      示例数据如下。

      qwe,145,F
      asd,256,F
      xzc,345,M
      rgth,234,F
      ert,456,F
      dfg,12,M
      tyj,4,M
      bfg,245,M
      nrtjeryj,15,F
      rwh,2344,M
      trh,387,F
      srjeyj,67,M
      saerh,567,M
    4. 单击下一步

    5. 选择目标表字段与源字段的匹配方式。

    6. 单击导入数据

  3. 在表格存储控制台上创建表。

    1. 登录表格存储控制台,创建实例。详情请参见创建实例

    2. 创建数据表Trans。详情请参见创建数据表

  4. 在DataWorks中新增数据源。

    1. 登录DataWorks控制台

    2. 在左侧导航栏,单击工作空间列表

    3. 单击相应工作空间操作列的快速进入 > 数据集成

    4. 在左侧导航栏上,单击数据源,进入数据源管理页面。

    5. 单击新增数据源,并选择数据类型为MaxCompute

    6. 新增MaxCompute数据源对话框中配置参数,并单击完成。详情请参见配置MaxCompute数据源

    7. 新增OTS数据源,详情请参见配置OTS数据源

  5. 配置MaxCompute(ODPS)Reader和表格存储(OTS)Writer。

    1. 进入数据开发页面,右键单击指定业务流程,选择新建节点 > 数据集成 > 离线同步

    2. 新建节点对话框中,输入节点名称,并单击确认

    3. 在顶部菜单栏上,单击

      转化脚本

      图标。

    4. 在脚本模式下,单击顶部菜单栏上的

      **

      图标。

    5. 导入模板对话框中选择来源类型数据源目标类型数据源,并单击确定

    6. 修改JSON代码后,单击

      运行

      图标。

      代码如下。

      {
          "type": "job",
          "steps": [
              {
                  "stepType": "odps",
                  "parameter": {
                      "partition": [],
                      "datasource": "odps_first",
                      "column": [
                          "name",
                          "id",
                          "gender"
                      ],
                      "table": "Transs"
                  },
                  "name": "Reader",
                  "category": "reader"
              },
              {
                  "stepType": "ots",
                  "parameter": {
                      "datasource": "Transs",
                      "column": [
                          {
                              "name": "Gender",
                              "type": "STRING"
                          }
                      ],
                      "writeMode": "UpdateRow",
                      "table": "Trans",
                      "primaryKey": [
                          {
                              "name": "Name",
                              "type": "STRING"
                          },
                          {
                              "name": "ID",
                              "type": "INT"
                          }
                      ]
                  },
                  "name": "Writer",
                  "category": "writer"
              }
          ],
          "version": "2.0",
          "order": {
              "hops": [
                  {
                      "from": "Reader",
                      "to": "Writer"
                  }
              ]
          },
          "setting": {
              "errorLimit": {
                  "record": "0"
              },
              "speed": {
                  "throttle": false,
                  "concurrent": 1,
                  "dmu": 1
              }
          }
      }
  6. 在表格存储控制台中查看新增的表数据。

    1. 登录表格存储控制台

    2. 在左侧导航栏上,单击全部实例

    3. 单击实例名称进入实例管理页面。在数据表列表区域,单击要查看的数据表名称。

    4. 单击顶部数据管理页签,查看新增的表数据。

### 使用 DataX 进行 OTS 表格存储的数据迁移 #### 数据迁移概述 DataX 是一款开源的异构数据源离线同步工具,支持多种数据库之间的高效数据传输。对于OTS(表格存储),可以通过编写特定的 JSON 配置文件来实现从其他数据源向 OTS 或者相反方向的数据迁移。 #### 准备工作 确保已经安装并配置好了 DataX 工具环境,并获取了目标 OTS 实例的相关连接参数,如 Endpoint、InstanceName 和 AccessKey 等信息[^1]。 #### 创建JSON配置文件 针对要迁移的数据表创建相应的 JSON 文件,在此文件中指定读取端插件 (Reader Plugin) 和写入端插件 (Writer Plugin),以及必要的字段映射关系和其他选项设置。特别注意的是,在迁移数据时需列出所有属性列以保证数据完整性[^2]。 ```json { "job": { "content": [ { "reader": { "name": "otsreader", "parameter": { "endpoint": "${your_endpoint}", "instanceName": "${your_instance_name}", "tableName": "${source_table_name}", "accessId": "${your_access_id}", "accessKey": "${your_access_key}" } }, "writer": { "name": "otswriter", "parameter": { "endpoint": "${target_endpoint}", "instanceName": "${target_instance_name}", "tableName": "${target_table_name}", "column": ["col1", "col2"], // 列出所有需要迁移到的目标表中的列名 "writeMode": "INSERT" } } } ] } } ``` #### 启动迁移任务 登录部署有 DataX 的 ECS 服务器,切换至 DataX 安装目录下运行 `transfer.sh` 脚本来启动实际的数据迁移过程。该 Shell 脚本内部调用了 Python 解释器执行核心逻辑,同时重定向输出日志以便后续查看进度和排查错误。 ```bash #!/bin/bash nohup python datax.py Table.json > Table.log & ``` #### 结果验证 完成以上步骤之后,建议通过 SQL 查询或其他方式检查目的端 OTS 中的新记录是否正确无误地反映了原系统的状态,以此确认整个迁移流程的成功与否[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值