错误码
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"
}