错误码
8 SQL 作业相关 API
8.2 表相关 API
8.2.1 创建表
● 成功响应样例:
{ "is_success": true, "message": ""
}
状态码
状态码如表8-18所示。
表8-18 状态码
状态码 描述
200 修改成功。
400 请求错误。
500 内部服务器错误。
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参 见错误码。
8.2 表相关 API
8.2.1 创建表
功能介绍
该API用于创建新的表。
调试
您可以在API Explorer中调试该接口。
URI
● URI格式:
POST /v1.0/{project_id}/databases/{database_name}/tables
API 参考 8 SQL 作业相关 API
表8-19 URI 参数
参数名称 是否必
选 参数类
型 说明
project_id 是 String 项目编号,用于资源隔离。获取方式请参 考获取项目ID。
database_na
me 是 String 新增表所在的数据库名称。
请求消息
表8-20 请求参数
参数名称 是否必
选 参数类型 说明
table_name 是 String 新增表名称。
● 表名称只能包含数字、英文字母和下划 线,但不能是纯数字,且不能以下划线开 头。
● 表名称大小写不敏感且不能为空。
● 表名称支持包含“$”符号。例如:
$test。
● 输入长度不能超过128个字符。
data_location 是 String 数据存储的地方,分OBS表、DLI表和VIEW 视图。
description 否 String 新增表的描述信息。
columns 是 Array of
Objects 新增表的列。列相关参数请参考表8-21。
data_location为VIEW时可不填写。
select_stateme
nt 否 String 创建视图时依赖的查找语句。查找语句中的
表需要附加所属数据库,即 “数据库.数据 表”格式。data_location为VIEW时填写。
data_type 否 String 新增OBS表数据的类型,目前支持:
Parquet、ORC、CSV、JSON、Carbon和 Avro格式。
说明OBS表必选参数。
data_path 否 String 新增OBS表数据的存储路径,必须是OBS的 路径。
说明OBS表必选参数。
data_path配置的OBS桶路径不建议为根目录,否 则清空表数据的时候,就会把根目录内的数据全 部清除,导致数据丢失。
API 参考 8 SQL 作业相关 API
参数名称 是否必 选
参数类型 说明
with_column_h
eader 否 Boolean OBS表数据是否包含表头。只有CSV类型数 据具有该属性。data_location为OBS时填 写。
delimiter 否 String 用户自定义数据分隔符。只有CSV类型数据 具有该属性。data_location为OBS时填写。
quote_char 否 String 用户自定义引用字符,默认为双引号(即
“\"”)。只有CSV类型数据具有该属性。
data_location为OBS时填写。
escape_char 否 String 用户自定义转义字符,默认为反斜杠(即"\
\")。只有CSV类型数据具有该属性。
data_location为OBS时填写。
date_format 否 String 用户自定义日期类型,默认格式为“yyyy-MM-dd”。日期格式字符定义详见表8-49。
只有CSV和JSON类型数据具有该属性。
data_location为OBS时填写。
timestamp_for
mat 否 String 用户自定义时间类型。默认格式为“yyyy-MM-dd HH:mm:ss”。时间戳格式字符定义 详见表8-49。只有CSV和JSON类型数据具有 该属性。data_location为OBS时填写。
表8-21 columns 参数
参数名称 是否必
选
参数类 型
说明
column_nam
e 是 String 列的名称。
type 是 String 列的数据类型。
description 否 String 列的描述信息。
is_partition_c
olumn 否 Boolea
n 表示该列是否为分区列。“true”表示为分区 列,“false”为非分区列,默认为“false”。
说明
创建分区表时,需要保证表中至少有一列为非分区 列。详见“请求样例”。
API 参考 8 SQL 作业相关 API
响应消息
cess 否 Boole
an 执行请求是否成功。“true”表示请求执行成功。
message 否 String 系统提示信息,执行成功时,信息可能为空。
示例
● data_location为OBS时的请求样例:
{ "table_name": "tb1", "data_location": "OBS", "description": "", "data_type": "csv",
"data_path": "obs://obs/path1", "columns": [
{ "column_name": "column1", "type": "string",
"description": "",
"is_partition_column": true }, {
"column_name": "column2", "type": "string",
"description": "",
"is_partition_column": false } ],
"with_column_header": true, "delimiter": ",",
"quote_char": "\"", "escape_char": "\\",
"date_format": "yyyy-MM-dd",
"timestamp_format": "yyyy-MM-dd HH:mm:ss"
}
说明
“date_format”和“timestamp_format”的格式需与导入的csv文件中的时间格式一致。
● data_location为VIEW时的请求样例:
{ "table_name": "view1", "data_location": "VIEW",
"select_statement": "select * from db1.tb1"
}
● 成功响应样例:
{ "is_success": true, "message": ""
}
API 参考 8 SQL 作业相关 API
状态码
状态码如表8-23所示。
表8-23 状态码
状态码 描述
200 创建成功。
400 请求错误。
500 内部服务器错误。
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参 见错误码。