文档首页 > > API参考> SQL作业相关API> 作业相关API> 导出数据

导出数据

分享
更新时间: 2020/03/11 GMT+08:00

功能介绍

该API用于将数据导出到文件。支持数据从DLI表中导出到文件。

  • 该API为异步操作。
  • 目前只支持导出数据到OBS中,且导出的路径必须指定到文件夹级别。OBS路径中不支持逗号,且其中的桶名不能以正则格式“.[0-9]+(.*)”结尾,即,若桶名包含“.”, 则最后一个“.”不可以数字开头(例如:**.12abc 或 **.12)。

URI

  • URI格式:

    POST /v1.0/{project_id}/jobs/export-table

  • 参数说明
    表1 URI参数

    名称

    是否必选

    说明

    project_id

    项目编号,用于资源隔离。获取方式请参考获取项目ID

请求消息

表2 请求参数

参数

是否必选

参数类型

说明

data_path

String

导出数据的储存路径(当前仅支持将数据存储在OBS上,且OBS路径须以s3a开头)。另外,“export_mode”配置为“errorifexists”时,该路径下的文件夹须不存在,如请求样例中的“test”文件夹。

data_type

String

导出数据的类型(当前仅支持csv格式数据)。

database_name

String

被导出数据的表所在的数据库名称。

table_name

String

被导出数据的表名称。

compress

String

导出数据的压缩方法。目前支持gzip、bzip2、deflate压缩方式;若不希望压缩,则输入none。

queue_name

String

指定执行该任务的队列。若不指定队列,将采用default队列执行操作。

export_mode

String

导出模式,目前支持“ErrorIfExists”“Overwrite”,不指定“export_mode”则默认为“ErrorIfExists”

  • “ErrorIfExists”:存在即报错。指定的导出目录必须不存在,如果指定目录已经存在,系统将返回错误信息,无法执行导出操作。
  • “Overwrite”:覆盖。在指定目录下新建文件,会删除已有文件。

with_column_header

Boolean

导出csv格式数据时,是否导出列名。

  • 设置为“true”,表示导出列名。
  • 设置为“false”,表示不导出列名。
  • 若为空,默认为“false”。

响应消息

表3 响应参数

参数

是否必选

参数类型

说明

is_success

Boolean

请求是否发送成功。“true”表示请求发送成功。

message

String

系统提示信息,执行成功时,信息可能为空。

job_id

String

此SQL将生成并提交一个新的作业,返回作业ID。用户可以使用作业ID来查询作业状态和获取作业结果。

job_mode

String

作业执行模式:

  • async:异步
  • sync:同步

示例

  • 请求样例:
    {
        "data_path": "s3a://home/data1/DLI/test",
        "data_type": "csv",
        "database_name": "db2",
        "table_name": "t2",
        "compress": "gzip",
        "with_column_header": "true",
        "queue_name": "queue2"
    }
  • 成功响应样例:
    {
    "is_success": true,
      "message": "export all data from table db2.t2 to path s3a://home/data1/DLI/test started",
      "job_id": "828d4044-3d39-449b-b32c-957f7cfadfc9",
      "job_mode":"async"
    }

    调用API出错后,将不会返回上述结果,而是返回错误码和错误信息,详细介绍请参见错误码

分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问