• 沒有找到結果。

错误码

8 SQL 作业相关 API

8.3 作业相关 API

8.3.1 导入数据

}, {

"partition_name": "name=name1/age=age1", "create_time": 1581409182000,

"last_access_time": 1581409182000, "locations": [

"obs://test/0117"

],

"last_ddl_time": 1581409182, "total_size": 2130,

"num_rows": -1, "num_files": 2 }

] } }

状态码

状态码如表8-46所示。

8-46 状态码

状态码 描述

200 操作成功。

400 请求错误。

500 内部服务器错误。

错误码

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

8.3 作业相关 API

8.3.1 导入数据

功能介绍

该API用于将数据从文件导入DLI或OBS表,目前仅支持将OBS上的数据导入DLI或OBS 中。

API 参考 8 SQL 作业相关 API

说明

● 该API为异步操作。

● 导入数据时,可选择已存在的OBS桶路径或新建OBS桶路径,但只能指定一个OBS桶路径。

● 若需新建OBS桶,需遵守以下命名规则:

需全局唯一,不能与已有的任何桶名称重复。

长度范围为3到63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。

禁止两个英文句号(.)或英文句号(.)和中划线(-)相邻,禁止以英文句号(.)和 中划线(-)开头或结尾。

禁止使用IP地址。

如果名称中包含英文句号(.),访问桶或对象时可能会进行安全证书校验。

● 导入源文件时,如果源文件中的某一列与目标表列类型不匹配,将会导致该行数据的查询结 果为null 。

● 不支持并发导入同一张表。

调试

您可以在API Explorer中调试该接口。

URI

● URI格式:

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

● 参数说明

8-47 URI 参数

参数名称 是否必选 参数类型 说明 project_i

d 是 String 项目编号,用于资源隔离。获取方式请参

考获取项目ID。

请求消息

8-48 请求参数

参数名称 是否

必选

参数 类型

说明

data_path 是 String 导入的数据路径(当前仅支持导入OBS上的数 据)。

data_type 是 String 导入的数据类型(当前支持csv、parquet、orc、

json、avro数据类型)。

说明不支持导入Hive表生成的avro格式数据。

database_na 是 String 导入表所属的数据库名称。

API 参考 8 SQL 作业相关 API

参数名称 是否 必选

参数 类型

说明

table_name 是 String 导入表的名称。

with_column

_header 否 Boole

an 导入数据中的第一行数据是否包括列名,即表 头。默认为“false”,表示不包括列名。导入 CSV类型数据时可指定。

delimiter 否 String 用户自定义数据分隔符,默认为逗号。导入CSV 类型数据时可指定。

quote_char 否 String 用户自定义引用字符,默认为双引号。导入CSV 类型数据时可指定。

escape_char 否 String 用户自定义转义字符,默认为反斜杠。导入CSV 类型数据时可指定。

date_format 否 String 指定特定的日期格式,默认为“yyyy-MM-dd”。日期格式字符定义详见表8-49。导入CSV 及JSON类型数据时可指定。

bad_records_

path 否 String 作业执行过程中的bad records存储目录。设置该 配置项后,bad records不会导入到目标表。

timestamp_fo

rmat 否 String 指定特定的时间格式,默认为“yyyy-MM-dd HH:mm:ss”。时间格式字符定义详见表8-49。

导入CSV及JSON类型数据时可指定。

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

overwrite 否 Boole

an 是否覆盖写。默认为“false”,表示追加写。为

“true”,表示覆盖写。

conf 否 Array ofString s

用户定义适用于此作业的配置参数。目前支持的 配置项:“dli.sql.dynamicPartitionOverwrite.enabled”

默认值为“false”,对于DataSource表,表示动

8-49 日期及时间模式字符定义 模式字

日期或时间元 素

示例

G 纪元标识符 AD

y 年份 1996; 96

M 月份 July; Jul; 07 w 年中的周数 27(该年的第27周) W 月中的周数 2(该月的第2周) D 年中的天数 189(该年的第189天) d 月中的天数 10(该月的第10天)

u 星期中的天数 1 = 星期一, ..., 7 = 星期日 a am/pm 标记 pm(下午时)

H 24小时数

(0-23) 2

h 12小时数

(1-12) 12

m 分钟数 30

s 秒数 55

S 毫秒数 978

z 时区 Pacific Standard Time; PST; GMT-08:00

响应消息

8-50 响应参数 参数名称 是否

必选 参数

类型 说明

is_succes

s 否 Boole

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

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

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

API 参考 8 SQL 作业相关 API

参数名称 是否

{ "data_path": "obs://home/data1/DLI/t1.csv", "data_type": "csv",

"database_name": "db2", "table_name": "t2",

"with_column_header": false, "delimiter": ",",

"quote_char": ",", "escape_char": ",",

"date_format": "yyyy-MM-dd",

"timestamp_format": "yyyy-MM-dd'T'HH:mm:ss.SSSZZ", "queue_name": "queue2",

"overwrite": false, "partition_spec":{

"column1": "2020-01-01", "column2": "columnPartValue"

} }

● 成功响应样例:

{ "is_success": true,

"message": "import data to table t2 started", "job_id": "6b29eb77-4c16-4e74-838a-2cf7959e9202", "job_mode":"async"

}