全部产品
弹性计算 会员服务 网络 安全 移动云 数加·大数据分析及展现 数加·大数据应用 管理与监控 云通信 阿里云办公 培训与认证 智能硬件
存储与CDN 数据库 域名与网站(万网) 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网 更多
表格存储

全量导出(脚本模式)

更新时间:2018-03-14 21:00:33

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

本章介绍如何将Table Store中的全量数据通过数据集成的脚本模式导出到OSS中,从而用户可以自由下载文件自用,或者作为Table Store的备份存于OSS中。

途径

  • 数据集成脚本模式
    • Reader:OTSReader
    • Writer:OSSWriter

步骤1. 创建Table Store数据源

说明:如果已经创建了Table Store的数据源,可以跳过这一步。

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

步骤2. 创建OSS数据源

本操作与步骤1类似,区别只是选择OSS作为数据源。

说明:配置OSS数据源的参数时,注意Endpoint不包括bucketName。详细信息参见OSS endpoint介绍

步骤3. 创建导出任务

  1. 登录数据集成控制台

  2. 同步任务页面,选择脚本模式

    脚本模式

  3. 在弹出的导入模板对话框中,来源类型选择OTS目标类型选择OSS

  4. 单击确认,进入配置页面。

步骤4. 完善配置项

  1. 在配置界面,已经提前嵌入了otsreader和osswriter的模板,请参考以下解释完成配置。

    1. {
    2. "type": "job", # 不能修改
    3. "version": "1.0", # 不能修改
    4. "configuration": {
    5. "setting": {
    6. "errorLimit": {
    7. "record": "0" # 超过record个错误后,导入任务会失败。
    8. },
    9. "speed": {
    10. "mbps": "1", # 导入速率,单位是MB
    11. "concurrent": "1" # 并发度。
    12. }
    13. },
    14. "reader": {
    15. "plugin": "ots", # 不能修改
    16. "parameter": {
    17. "datasource": "", # 数据集成中的数据源名称,需要提前设置好,这里有两种选择,一种是配置datasource数据源,一种写明文的AccessKeyID等鉴权信息,鼓励使用数据源。
    18. "table": "", # Table Store中的表名
    19. "column": [ # 需要导出到OSS的列名,不能设置为空。
    20. {
    21. "name": "column1" # Table Store中列名,此列需要导入到OSS
    22. },
    23. {
    24. "name": "column2" # Table Store中列名,此列需要导入到OSS
    25. }
    26. ],
    27. "range": {
    28. "begin": [
    29. {
    30. "type": "INF_MIN" # Table Store中第一列主键的起始位置。如果要导出全量,这里需要配置为INF_MIN,如何导出部分,则按需要配置。如果有几列主键列,这里begin中就需要几项配置。
    31. }
    32. ],
    33. "end": [
    34. {
    35. "type": "INF_MAX" # Table Store中第一列主键的结束位置。如果要导出全量,这里需要配置为INF_MAX,如何导出部分,则按需要配置。
    36. }
    37. ],
    38. "split": [ # 用来配置Table Store的表的分区信息,可以加速导出,下一个版本会自动处理。
    39. ]
    40. }
    41. }
    42. },
    43. "writer": {
    44. "plugin": "oss",
    45. "parameter": {
    46. "datasource": "", # 配置OSS的数据源
    47. "object": "", # object 前缀,不需要包括bucket名字,比如:tablestore/20171111/,如果是定时导出,则这里需要使用变量,比如tablestore/${date},然后在配置调度参数的时候配置${date}的值。
    48. "writeMode": "truncate", # 支持truncate|append|nonConflicttruncate会清理已存在的同名文件;append会加到已存在的同名文件内容后面;nonConflict会报错当同名文件存在时。全量导出使用truncate
    49. "fileFormat": "csv", # 支持csvtxt两种格式
    50. "encoding": "UTF-8", # 编码
    51. "nullFormat": "null", # 定义null值的字符串标识符方式,也可以是空字符串
    52. "dateFormat": "yyyy-MM-dd HH:mm:ss", # 时间格式
    53. "fieldDelimiter": "," # 每一列的分隔符
    54. }
    55. }
    56. }
    57. }
  2. 单击保存,保存任务。

步骤5. 运行任务

  1. 单击运行,开始执行任务。

    运行

    如果在配置里面有变量,比如存在${date},则会出现变量设置界面,只能设置具体值,如下图所示。

    自定义变量参数

  2. 查看页面下方的日志。

    如果日志中没有报错,则说明执行成功,您可以到目标OSS中去检查数据了。

    说明:因为全量导出一般是一次性的,所以不需要配置自动调度参数。如果需要配置调度参数,请参考增量同步中的调度参数配置。

步骤6. 检查导出到OSS中的数据

  1. 登录OSS控制台

  2. 选择相应bucket和文件名,下载后查看内容是否符合预期。

本文导读目录