导入数据(废弃)
功能介绍
该API用于将数据从文件导入DLI或OBS表,目前仅支持将OBS上的数据导入DLI或OBS中。

- 当前接口已废弃,不推荐使用。
- 该API为异步操作。
- 导入数据时,可选择已存在的OBS桶路径或新建OBS桶路径,但只能指定一个OBS桶路径。
- 若需新建OBS桶,需遵守以下命名规则:
- 需全局唯一,不能与已有的任何桶名称重复。
- 长度范围为3到63个字符,支持小写字母、数字、中划线(-)、英文句号(.)。
- 禁止两个英文句号(.)或英文句号(.)和中划线(-)相邻,禁止以英文句号(.)和中划线(-)开头或结尾。
- 禁止使用IP地址。
- 如果名称中包含英文句号(.),访问桶或对象时可能会进行安全证书校验。
- 导入源文件时,如果源文件中的某一列与目标表列类型不匹配,将会导致该行数据的查询结果为null 。
- 不支持并发导入同一张表。
URI
- URI格式:
- 参数说明
表1 URI参数 参数名称
是否必选
参数类型
说明
project_id
是
String
项目编号,用于资源隔离。获取方式请参考获取项目ID。
请求消息
参数名称 | 是否必选 | 参数类型 | 说明 |
|---|---|---|---|
data_path | 是 | String | 导入的数据路径(当前仅支持导入OBS上的数据)。 |
data_type | 是 | String | 导入的数据类型(当前支持csv、parquet、orc、json、avro数据类型)。 说明: 不支持导入Hive表生成的avro格式数据。 |
database_name | 是 | String | 导入表所属的数据库名称。 |
table_name | 是 | String | 导入表的名称。 |
with_column_header | 否 | Boolean | 导入数据中的第一行数据是否包括列名,即表头。默认为“false”,表示不包括列名。导入CSV类型数据时可指定。 |
delimiter | 否 | String | 用户自定义数据分隔符,默认为逗号。导入CSV类型数据时可指定。 |
quote_char | 否 | String | 用户自定义引用字符,默认为双引号。导入CSV类型数据时可指定。 |
escape_char | 否 | String | 用户自定义转义字符,默认为反斜杠。导入CSV类型数据时可指定。 |
date_format | 否 | String | 指定特定的日期格式,默认为“yyyy-MM-dd”。日期格式字符定义详见表3。导入CSV及JSON类型数据时可指定。 |
bad_records_path | 否 | String | 作业执行过程中的bad records存储目录。设置该配置项后,bad records不会导入到目标表。 |
timestamp_format | 否 | String | 指定特定的时间格式,默认为“yyyy-MM-dd HH:mm:ss”。时间格式字符定义详见表3。导入CSV及JSON类型数据时可指定。 |
queue_name | 否 | String | 指定执行该任务的队列。若不指定队列,将采用default队列执行操作。 |
overwrite | 否 | Boolean | 是否覆盖写。默认为“false”,表示追加写。为“true”,表示覆盖写。 |
partition_spec | 否 | Object | 表示需要导入到哪个分区。
|
conf | 否 | Array of Strings | 用户定义适用于此作业的配置参数。目前支持的配置项:“dli.sql.dynamicPartitionOverwrite.enabled”默认值为“false”,对于DataSource表,表示动态插入覆盖整表数据,为“true”表示覆盖指定分区数据。 说明: 对于Hive分区表的动态覆盖写,仅支持覆盖涉及到的分区数据,不支持覆盖整表数据。 |
响应消息
参数名称 | 是否必选 | 参数类型 | 说明 |
|---|---|---|---|
is_success | 否 | Boolean | 请求发送是否成功。“true”表示请求发送成功。 |
message | 否 | String | 系统提示信息,执行成功时,信息可能为空。 |
job_id | 否 | String | 此SQL将生成并提交一个新的作业,返回作业ID。用户可以使用作业ID来查询作业状态和获取作业结果。 |
job_mode | 否 | String | 作业执行模式:
|
请求示例
将存储在OBS的csv类型的数据导入db2.t2。
{
"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"
} 错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码。

