• 沒有找到結果。

错误码

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 内部服务器错误。

错误码

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