DataWorks大数据开发治理平台提供数据集成功能,支持将表格存储(Tablestore)的全量数据导出至MaxCompute进行离线分析和处理。
前提条件
开始数据导出前,需完成以下准备工作:
获取Tablestore源表的实例名称、实例访问地址、地域ID等信息。
创建MaxCompute项目作为数据存储目标。
为阿里云账号或RAM用户创建AccessKey,确保具备Tablestore与MaxCompute服务的访问权限。
开通DataWorks服务,并在MaxCompute实例或Tablestore实例所在地域创建工作空间。
创建Serverless资源组并绑定到工作空间。有关计费信息,请参见Serverless资源组计费。
当DataWorks和Tablestore实例位于不同地域时,需要创建VPC对等连接实现跨地域网络连通。
操作步骤
通过以下步骤完成从Tablestore到MaxCompute的全量数据导出配置。
步骤一:新增Tablestore数据源
在DataWorks中配置Tablestore数据源,建立与源数据表的连接。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据集成。
在左侧导航栏,单击数据源。
在数据源列表页面,单击新增数据源。
在新增数据源对话框,搜索并选择数据源类型为Tablestore。
在新增OTS数据源对话框,根据下表配置数据源参数。
参数
说明
数据源名称
数据源名称必须以字母、数字、下划线(_)组合,且不能以数字和下划线(_)开头。
数据源描述
对数据源进行简单描述,不得超过80个字符。
地域
选择Tablestore实例所属地域。
Table Store实例名称
Tablestore实例的名称。
Endpoint
Tablestore实例的服务地址,推荐使用VPC地址。
AccessKey ID
阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret。
AccessKey Secret
测试资源组连通性。
创建数据源时,需要测试资源组的连通性,确保同步任务使用的资源组能够与数据源正常连通,否则将无法正常执行数据同步任务。
在连接配置区域,单击相应资源组连通状态列的测试连通性。
测试连通性通过后,连通状态显示可连通,单击完成。可在数据源列表中查看新建的数据源。
如果测试连通性结果为无法通过,可使用连通性诊断工具自助解决。
步骤二:新增MaxCompute数据源
配置MaxCompute数据源作为数据导出的目标存储。
再次单击新增数据源,选择数据源类型为MaxCompute,并配置相关的数据源参数。
参数
说明
数据源名称
数据源名称必须以字母、数字、下划线(_)组合,且不能以数字和下划线(_)开头。
数据源描述
对数据源进行简单描述,不得超过80个字符。
认证方式
默认为阿里云账号及阿里云RAM角色,不支持修改。
所属云账号
当前阿里云主账号:需选择当前账号指定地域下的MaxCompute项目名称和默认访问身份。
其他阿里云主账号:需输入其他账号指定地域下的对方阿里云主账号UID、对方MaxCompute项目和对方RAM角色。
地域
MaxCompute项目所在地域。
Endpoint
默认为自动适配,也可根据需要自定义配置。
完成参数配置和连通性测试后,单击完成添加数据源。
步骤三:配置离线同步任务
创建数据同步任务,定义从Tablestore到MaxCompute的数据传输规则和映射关系。
新建任务节点
进入数据开发页面。
登录DataWorks控制台。
在页面上方,选择资源组和地域。
在左侧导航栏,单击。
选择对应工作空间后单击进入Data Studio。
在Data Studio控制台的数据开发页面,单击项目目录右侧的
图标,然后选择。在新建节点对话框,选择路径,数据来源选择Tablestore,数据去向选择MaxCompute(ODPS),填写名称,然后单击确认。
配置同步任务
在项目目录下,单击打开新建的离线同步任务节点,通过向导模式或脚本模式配置同步任务。
向导模式(默认)
在向导模式下配置以下内容:
数据源:选择来源数据源和去向数据源。
运行资源:选择资源组,选择后会自动检测数据源连通性。
数据来源:
表:下拉选择来源数据表。
主键区间分布(起始):数据读取的起始主键,格式为JSON数组,
inf_min表示无限小。当主键包含1个
int类型的主键列id和1个string类型的主键列name时,示例配置如下:指定主键范围
全量数据
[ { "type": "int", "value": "000" }, { "type": "string", "value": "aaa" } ][ { "type": "inf_min" }, { "type": "inf_min" } ]主键区间分布(结束):数据读取的结束主键,格式为JSON数组,
inf_max表示无限大。当主键包含1个
int类型的主键列id和1个string类型的主键列name时,示例配置如下:指定主键范围
全量数据
[ { "type": "int", "value": "999" }, { "type": "string", "value": "zzz" } ][ { "type": "inf_max" }, { "type": "inf_max" } ]切分配置信息:自定义切分配置信息,格式为JSON数组,普通情况下不建议配置(设置为
[])。当Tablestore数据存储发生热点,且使用Tablestore Reader自动切分的策略不能生效时,建议使用自定义的切分规则。切分指定的是在主键起始和结束区间内的切分点,仅配置切分键,无需指定全部的主键。
数据去向:配置以下内容,其它参数可保持默认,也可根据需求修改。
生产项目名:反显去向数据源关联的MaxCompute项目名称。
Tunnel资源组:默认选择公共传输资源,即MaxCompute的免费quota,可根据需要选择独享的Tunnel。
表:选择目标表,可单击一键生成目标表结构自动生成目标表。
分区:同步的数据保存在指定日期的分区中,可以用于每日增量同步。
写入模式:可选择写入前清理已有数据还是保留已有数据。
去向字段映射:配置来源数据表到目标表的字段映射,系统会根据源表字段提供默认映射关系,可根据需要修改。
配置完成后,单击页面上方的保存。
脚本模式
单击页面上方的脚本模式,在切换后的页面中编辑脚本。
以下示例脚本中,来源数据表主键包含1个int类型的主键列id和1个string类型的主键列name,属性列包含1个int类型的字段age。配置时请替换示例脚本内的数据源datasource、表名称table。
{
"type": "job",
"version": "2.0",
"steps": [
{
"stepType": "ots",
"parameter": {
"datasource": "source_data",
"column": [
{
"name": "id",
"type": "INTEGER"
},
{
"name": "name",
"type": "STRING"
},
{
"name": "age",
"type": "INTEGER"
}
],
"range": {
"begin": [
{
"type": "inf_min"
},
{
"type": "inf_min"
}
],
"end": [
{
"type": "inf_max"
},
{
"type": "inf_max"
}
],
"split": []
},
"table": "source_table",
"newVersion": "true"
},
"name": "Reader",
"category": "reader"
},
{
"stepType": "odps",
"parameter": {
"partition": "pt=${bizdate}",
"truncate": true,
"datasource": "target_data",
"tunnelQuota": "default",
"column": [
"id",
"name",
"age"
],
"emptyAsNull": false,
"guid": null,
"table": "source_table",
"consistencyCommit": false
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 2,
"throttle": false
}
},
"order": {
"hops": [
{
"from": "Reader",
"to": "Writer"
}
]
}
}脚本编辑完成后,单击页面上方的保存。
运行同步任务
单击页面右侧的调试配置,选择运行的资源组,并添加运行的脚本参数。
bizdate:MaxCompute目标表的数据分区,如
20251120。
单击页面上方的运行,开始同步任务。
步骤四:查看同步结果
运行同步任务后,可通过日志查看任务的执行状态,并在DataWorks控制台查看同步结果文件。
在页面下方查看任务运行状态和结果,出现以下信息时表示同步任务运行成功。
2025-11-18 11:16:23 INFO Shell run successfully! 2025-11-18 11:16:23 INFO Current task status: FINISH 2025-11-18 11:16:23 INFO Cost time is: 77.208s查看目标表的同步结果。
前往DataWorks控制台,在左侧菜单栏单击,然后单击进入数据地图,查看目标表和数据。
