导出数据
功能介绍
该API用于从DLI表中导出数据到文件。
- 该API为异步操作。
- 目前只支持从DLI表导出数据到OBS中,且导出的路径必须指定到文件夹级别。OBS路径中不支持逗号,且其中的桶名不能以正则格式“.[0-9]+(.*)”结尾,即,若桶名包含“.”, 则最后一个“.”不可以数字开头(例如:**.12abc 或 **.12)。
- 支持跨帐号导出数据,即,如果B账户对A账户授权后,A账户拥有B账户OBS桶的元数据信息和权限信息的读取权限,以及路径的读写权限,则A账户可将数据导出至B账户的OBS路径中。
URI
- URI格式:
- 参数说明
表1 URI参数 参数名称
是否必选
参数类型
说明
project_id
是
String
项目编号,用于资源隔离。获取方式请参考获取项目ID。
请求消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
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”。
|
with_column_header |
否 |
Boolean |
导出csv和json格式数据时,是否导出列名。
|
响应消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
is_success |
否 |
Boolean |
请求是否发送成功。“true”表示请求发送成功。 |
message |
否 |
String |
系统提示信息,执行成功时,信息可能为空。 |
job_id |
否 |
String |
此SQL将生成并提交一个新的作业,返回作业ID。用户可以使用作业ID来查询作业状态和获取作业结果。 |
job_mode |
否 |
String |
作业执行模式:
|
请求示例
{ "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" }
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码。