如果要以更低成本备份表格存储中的全量数据或者以文件形式导出表格存储数据到本地,您可以通过DataWorks数据集成服务将表格存储中的全量数据导出到OSS。全量数据导出到OSS后,您可以自由下载文件到本地。
注意事项
通过数据集成服务将表格存储的数据同步至OSS时,如果源表为数据表,支持向导模式和脚本模式配置离线同步任务;如果源表为时序表,则仅支持脚本模式。
前提条件
- 已获取Tablestore源表的实例名称、实例访问地址、地域ID等信息。 
- 已为阿里云账号或RAM用户(具备Tablestore与OSS服务的权限)创建AccessKey。 
- 已开通DataWorks服务,并在OSS存储空间或Tablestore实例所在地域创建工作空间。 
- 已创建Serverless资源组并绑定到工作空间。有关计费信息,请参见Serverless资源组计费。 
如果OSS的存储空间(Bucket)和Tablestore实例不在同一地域,请参考以下操作步骤创建VPC对等连接实现跨地域网络连通。
操作步骤
步骤一:新增表格存储数据源
- 进入数据集成页面。 - 登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的,在下拉框中选择对应工作空间后单击进入数据集成。 
- 在左侧导航栏,单击数据源。 
- 在数据源列表页面,单击新增数据源。 
- 在新增数据源对话框,搜索并选择数据源类型为Tablestore。 
- 在新增OTS数据源对话框,根据下表配置数据源参数。 - 参数 - 说明 - 数据源名称 - 数据源名称必须以字母、数字、下划线(_)组合,且不能以数字和下划线(_)开头。 - 数据源描述 - 对数据源进行简单描述,不得超过80个字符。 - 地域 - 选择Tablestore实例所属地域。 - Table Store实例名称 - Tablestore实例的名称。 - Endpoint - Tablestore实例的服务地址,推荐使用VPC地址。 - AccessKey ID - 阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret。 - AccessKey Secret 
- 测试资源组连通性。创建数据源时,您需要测试资源组的连通性,以保证同步任务使用的资源组能够与数据源连通,否则将无法正常执行数据同步任务。 - 在连接配置区域,单击相应资源组连通状态列的测试连通性。 
- 测试连通性通过后,连通状态显示可连通,单击完成。您可以在数据源列表中查看新建的数据源。 说明- 如果测试连通性结果为无法通过,您可使用连通性诊断工具自助解决。如仍无法连通资源组与数据源,请提交工单处理。 
 
步骤二:新增OSS数据源
操作与步骤一相似,在新增数据源对话框中搜索并选择数据源类型为OSS,随后配置相关的数据源参数。
OSS数据源的访问模式支持RAM角色授权模式和Access Key模式,请根据实际需求选择适合的访问模式。
- RAM角色授权模式:通过STS授权的方式允许云产品服务账号扮演相关角色来访问数据源,具备更高安全性。更多信息,请参见通过RAM角色授权模式配置数据源。 - 首次选择访问模式为RAM角色授权模式时,系统会显示警告对话框,提示创建相关服务关联角色的信息,单击开启授权进行授权。开启授权后,选择角色为新建的服务关联角色。 
- Access Key模式:通过阿里云账号或者RAM用户的AccessKey ID和AccessKey Secret访问数据源。 
步骤三:配置离线同步任务
数据开发(Data Studio)旧版
一、新建任务节点
- 进入数据开发页面。 - 登录DataWorks控制台。 
- 在页面上方,选择资源组和地域。 
- 在左侧导航栏,单击。 
- 在数据开发页面的下拉框中,选择对应工作空间后单击进入数据开发。 
 
- 在DataStudio控制台的数据开发页面,单击业务流程节点下的目标业务流程。 - 如果需要新建业务流程,请参见创建业务流程。 
- 在数据集成节点上右键单击,然后选择新建节点 > 离线同步。 
- 在新建节点对话框,选择路径并填写名称,然后单击确认。 - 在数据集成节点下,将显示新建的离线同步节点。 
二、配置同步任务
- 在数据集成节点下,双击打开新建的离线同步任务节点。 
- 配置网络与资源。 - 在网络与资源配置步骤,选择数据来源为Tablestore,并选择数据源名称为新增的表格存储数据源。 
- 选择资源组。 - 选择资源组后,系统会显示资源组的地域、规格等信息以及自动测试资源组与所选数据源之间连通性。 说明- Serverless资源组支持为同步任务指定运行CU上限,如果您的同步任务因资源不足出现OOM现象,请适当调整资源组的CU占用取值。 
- 选择数据去向为OSS,并选择数据源名称为新增的OSS数据源。 - 系统会自动测试资源组与所选数据源之间连通性。 
- 测试可连通后,单击下一步。 
 
- 配置任务并保存。 重要- 导出数据表的全量数据到OSS时,您可以根据实际需求选择向导模式或脚本模式。 - 导出时序表的全量数据到OSS时,只支持脚本模式。 - 向导模式- 在配置任务步骤的配置数据来源与去向区域,根据实际情况配置数据来源和数据去向。 - 数据来源- 参数 - 说明 - 数据源 - 默认显示上一步选择的Tablestore数据源。 - 表 - 源数据表。 - 主键区间分布(起始) - 数据读取的起始主键和结束主键,格式为JSON数组。 - 起始主键和结束主键需要是有效的主键或者是由 - INF_MIN和- INF_MAX类型组成的虚拟点,虚拟点的列数必须与主键相同。其中- INF_MIN表示无限小,任何类型的值都比它大;- INF_MAX表示无限大,任何类型的值都比它小。- 数据表中的行按主键从小到大排序,读取范围是一个左闭右开的区间,返回的数据是大于等于起始主键且小于结束主键的所有行。 - 主键区间分布(结束) - 切分配置信息 - 自定义切分配置信息,普通情况下不建议配置。 - 当Tablestore数据存储发生热点,且使用Tablestore Reader自动切分的策略不能生效时,建议使用自定义的切分规则。切分指定的是在主键起始和结束区间内的切分点,仅配置切分键,无需指定全部的主键。格式为JSON数组。 - 数据去向- 参数 - 说明 - 数据源 - 默认显示上一步选择的OSS数据源。 - 文本类型 - 写入OSS的文件类型,例如csv和text。 说明- 不同文件类型支持的配置有差异,请以实际界面为准。 - 文件名(含路径) - 仅在文本类型为csv、text或orc时,需配置该参数。 - 写入OSS的文件路径,支持使用星号(*)作为通配符。例如 - tablestore/fullData/myotsdata.csv。- 文件路径 - 仅在文本类型为parquet时,需配置该参数。 - 写入OSS的文件路径,例如 - tablestore/fullData。- 文件名 - 仅在文本类型为parquet时,需配置该参数。 - 写入OSS的文件名称。 - 列分隔符 - 仅在文本类型为csv或text时,需配置该参数。 - 写入OSS文件时,列之间使用的分隔符。例如配置为 - \u001b。- 行分隔符 - 仅在文本类型为text时,需配置该参数。 - 自定义行分隔符,用来分隔不同数据行。例如配置为 - \\u0001。说明- 建议您使用数据中不存在的分隔符作为行分隔符;如果要使用Linux或Windows平台的默认行分隔符( - \n、- \r\n),建议置空此配置,平台将自动适配读取。- 编码 - 仅在文本类型为csv或text时,需配置该参数。 - 写入文件的编码配置。 - null值 - 仅在文本类型为csv、text或orc时,需配置该参数。 - 源数据源中可以表示为null的字符串。例如配置为null,如果源数据是null,则系统将视作null字段。 - 时间格式 - 仅在文本类型为csv或text时,需配置该参数。 - 日期类型的数据写入到OSS文件的时间格式,例如 - yyyy-MM-dd。- 前缀冲突 - 当设置的文件名与OSS中已有文件名冲突时的处理方法,取值范围如下: - 替换原有文件:删除原始文件,重建一个同名文件。 
- 保留原有文件:保留原始文件,重建一个新文件,名称为原文件名加随机后缀。 
- 退出报错:同步任务停止执行。 
 - 切分文件 - 仅在文本类型为csv或text时,需配置该参数。 - OSS写出时单个Object文件的最大大小,默认为10000*10MB,类似log4j日志打印时根据日志文件大小轮转。 - OSS分片上传时,每个分片大小为10MB(也是轮转文件最小粒度,即小于10MB的分块大小会被作为10MB),OSS 分片上传支持的分块最大数量为10000。轮转发生时,object名称规则是:在原有object前缀加UUID随机数。 - 写为一个文件 - 仅在文本类型为csv或text时,需配置该参数。 - 在将数据写入OSS时,是否以单个文件的形式写入。 - 默认写多个文件。当读不到任何数据时,如果配置了文件头,将输出只包含文件头的空文件,否则只输出空文件。 
- 如果需要以单个文件形式写入,请选择写为一个文件单选框。当都读不到任何数据时,不会产生空文件。 
 - 首行输出表头 - 仅在文本类型为csv或text时,需配置该参数。 - 写入文件时,是否在第一行输出表头。默认不输出表头。如需在第一行输出表头,请选中首行输出表头单选框。 
- 配置字段映射。 - 在字段映射区域,系统将自动显示来源字段,通常情况下可保持默认设置。 
- 配置通道控制。 - 您可以通过通道配置,控制数据同步过程相关属性。相关参数说明详情可参见离线同步并发和限流之间的关系。 
- 单击  图标,保存配置。 图标,保存配置。
 - 脚本模式- 在配置任务步骤,单击  图标,然后在弹出的对话框中单击确定。 图标,然后在弹出的对话框中单击确定。 
- 在脚本配置页面,编辑脚本。 - 脚本配置示例如下,请根据您的同步信息和需求替换配置文件内的参数信息。 - 同步数据表数据 
- 同步时序表数据 
 
- 单击  图标,保存配置。 图标,保存配置。
 
三、运行同步任务
- 单击  图标。 图标。
- 在参数对话框,选择运行资源组的名称。 
- 单击运行。 
数据开发(Data Studio)新版
一、新建任务节点
- 进入数据开发页面。 - 登录DataWorks控制台。 
- 在页面上方,选择资源组和地域。 
- 在左侧导航栏,单击。 
- 在数据开发页面的下拉框中,选择对应工作空间后单击进入Data Studio。 
 
- 在DataStudio控制台的数据开发页面,单击项目目录右侧的  图标,然后选择。说明 图标,然后选择。说明- 首次使用项目目录时,也可以直接单击新建节点按钮。 
- 在新建节点对话框,选择路径并填写名称,然后单击确认。 - 在项目目录下,将显示新建的离线同步节点。 
二、配置同步任务
- 在项目目录下,单击打开新建的离线同步任务节点。 
- 配置网络与资源。 - 在网络与资源配置步骤,选择数据来源为Tablestore,并选择数据源名称为新增的表格存储数据源。 
- 选择资源组。 - 选择资源组后,系统会显示资源组的地域、规格等信息以及自动测试资源组与所选数据源之间连通性。 说明- Serverless资源组支持为同步任务指定运行CU上限,如果您的同步任务因资源不足出现OOM现象,请适当调整资源组的CU占用取值。 
- 选择数据去向为OSS,并选择数据源名称为新增的OSS数据源。 - 系统会自动测试资源组与所选数据源之间连通性。 
- 测试可连通后,单击下一步。 
 
- 配置任务并保存。 重要- 导出数据表的全量数据到OSS时,您可以根据实际需求选择向导模式或脚本模式。 - 导出时序表的全量数据到OSS时,只支持脚本模式。 - 向导模式- 在配置任务步骤的配置数据来源与去向区域,根据实际情况配置数据来源和数据去向。 - 数据来源- 参数 - 说明 - 数据源 - 默认显示上一步选择的Tablestore数据源。 - 表 - 源数据表。 - 主键区间分布(起始) - 数据读取的起始主键和结束主键,格式为JSON数组。 - 起始主键和结束主键需要是有效的主键或者是由 - INF_MIN和- INF_MAX类型组成的虚拟点,虚拟点的列数必须与主键相同。其中- INF_MIN表示无限小,任何类型的值都比它大;- INF_MAX表示无限大,任何类型的值都比它小。- 数据表中的行按主键从小到大排序,读取范围是一个左闭右开的区间,返回的数据是大于等于起始主键且小于结束主键的所有行。 - 主键区间分布(结束) - 切分配置信息 - 自定义切分配置信息,普通情况下不建议配置。 - 当Tablestore数据存储发生热点,且使用Tablestore Reader自动切分的策略不能生效时,建议使用自定义的切分规则。切分指定的是在主键起始和结束区间内的切分点,仅配置切分键,无需指定全部的主键。格式为JSON数组。 - 数据去向- 参数 - 说明 - 数据源 - 默认显示上一步选择的OSS数据源。 - 文本类型 - 写入OSS的文件类型,例如csv和text。 说明- 不同文件类型支持的配置有差异,请以实际界面为准。 - 文件名(含路径) - 仅在文本类型为csv、text或orc时,需配置该参数。 - 写入OSS的文件路径,支持使用星号(*)作为通配符。例如 - tablestore/fullData/myotsdata.csv。- 文件路径 - 仅在文本类型为parquet时,需配置该参数。 - 写入OSS的文件路径,例如 - tablestore/fullData。- 文件名 - 仅在文本类型为parquet时,需配置该参数。 - 写入OSS的文件名称。 - 列分隔符 - 仅在文本类型为csv或text时,需配置该参数。 - 写入OSS文件时,列之间使用的分隔符。例如配置为 - \u001b。- 行分隔符 - 仅在文本类型为text时,需配置该参数。 - 自定义行分隔符,用来分隔不同数据行。例如配置为 - \\u0001。说明- 建议您使用数据中不存在的分隔符作为行分隔符;如果要使用Linux或Windows平台的默认行分隔符( - \n、- \r\n),建议置空此配置,平台将自动适配读取。- 编码 - 仅在文本类型为csv或text时,需配置该参数。 - 写入文件的编码配置。 - null值 - 仅在文本类型为csv、text或orc时,需配置该参数。 - 源数据源中可以表示为null的字符串。例如配置为null,如果源数据是null,则系统将视作null字段。 - 时间格式 - 仅在文本类型为csv或text时,需配置该参数。 - 日期类型的数据写入到OSS文件的时间格式,例如 - yyyy-MM-dd。- 前缀冲突 - 当设置的文件名与OSS中已有文件名冲突时的处理方法,取值范围如下: - 替换原有文件:删除原始文件,重建一个同名文件。 
- 保留原有文件:保留原始文件,重建一个新文件,名称为原文件名加随机后缀。 
- 退出报错:同步任务停止执行。 
 - 切分文件 - 仅在文本类型为csv或text时,需配置该参数。 - OSS写出时单个Object文件的最大大小,默认为10000*10MB,类似log4j日志打印时根据日志文件大小轮转。 - OSS分片上传时,每个分片大小为10MB(也是轮转文件最小粒度,即小于10MB的分块大小会被作为10MB),OSS 分片上传支持的分块最大数量为10000。轮转发生时,object名称规则是:在原有object前缀加UUID随机数。 - 写为一个文件 - 仅在文本类型为csv或text时,需配置该参数。 - 在将数据写入OSS时,是否以单个文件的形式写入。 - 默认写多个文件。当读不到任何数据时,如果配置了文件头,将输出只包含文件头的空文件,否则只输出空文件。 
- 如果需要以单个文件形式写入,请选择写为一个文件单选框。当都读不到任何数据时,不会产生空文件。 
 - 首行输出表头 - 仅在文本类型为csv或text时,需配置该参数。 - 写入文件时,是否在第一行输出表头。默认不输出表头。如需在第一行输出表头,请选中首行输出表头单选框。 
- 配置字段映射。 - 在字段映射区域,系统将自动显示来源字段,通常情况下可保持默认设置。 
- 配置通道控制。 - 您可以通过通道配置,控制数据同步过程相关属性。相关参数说明详情可参见离线同步并发和限流之间的关系。 
- 单击保存,保存配置。 
 - 脚本模式- 在配置任务步骤,单击脚本模式,然后在弹出的对话框中单击确定。  
- 在脚本配置页面,编辑脚本。 - 脚本配置示例如下,请根据您的同步信息和需求替换配置文件内的参数信息。 - 同步数据表数据 
- 同步时序表数据 
 
- 单击保存,保存配置。 
 
三、运行同步任务
- 单击任务右侧的调试配置,选择运行的资源组。 
- 单击运行。 
步骤四:查看同步结果
运行同步任务后,您可以通过日志查看任务的执行状态,并在OSS控制台下载文件以查看导出的数据。
- 查看任务执行状态。 - 在同步任务的结果页签,查看 - Current task status对应的状态。- 当 - Current task status的值为FINISH时,表示任务运行完成。
- 如需查看更详细的运行日志,您可以单击 - Detail log url对应的链接。
 
- 查看导出数据。 - 登录OSS管理控制台。 
- 在左侧导航栏,单击Bucket列表。 
- 在Bucket列表页面,找到目标Bucket后,单击Bucket名称。 
- 在文件列表页签,选择相应文件,下载后可查看内容是否符合预期。 
 

