更新时间:2024-04-25 GMT+08:00

导出数据(废弃)

功能介绍

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

  • 该API为异步操作。
  • 目前只支持从DLI表导出数据到OBS中,且导出的路径必须指定到文件夹级别。OBS路径中不支持逗号,且其中的桶名不能以正则格式“.[0-9]+(.*)”结尾,即,若桶名包含“.”, 则最后一个“.”不可以数字开头(例如:**.12abc 或 **.12)。
  • 支持跨账号导出数据,即,如果B账户对A账户授权后,A账户拥有B账户OBS桶的元数据信息和权限信息的读取权限,以及路径的读写权限,则A账户可将数据导出至B账户的OBS路径中。

当前接口已废弃,不推荐使用。

URI

  • URI格式:

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

  • 参数说明
    表1 URI参数

    参数名称

    是否必选

    参数类型

    说明

    project_id

    String

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

请求消息

表2 请求参数

参数名称

是否必选

参数类型

说明

data_path

String

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

data_type

String

导出数据的类型,目前API支持csv和json格式数据。

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和json格式数据时,是否导出列名。

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

响应消息

表3 响应参数

参数名称

是否必选

参数类型

说明

is_success

Boolean

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

message

String

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

job_id

String

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

job_mode

String

作业执行模式:

  • async:异步
  • sync:同步

请求示例

将db2.t2的数据导出至OBS,并以json格式存储。

{
    "data_path": "obs://home/data1/DLI/test",
    "data_type": "json",
    "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 obs://home/data1/DLI/test started",
  "job_id": "828d4044-3d39-449b-b32c-957f7cfadfc9",
  "job_mode":"async"
}

状态码

状态码如表4所示。

表4 状态码

状态码

描述

200

导出成功。

400

请求错误。

500

内部服务器错误。

错误码

调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码