创建表(废弃)
功能介绍
该API用于创建新的表。该接口是同步接口。
当前接口已废弃,不推荐使用。
调试
您可以在API Explorer中调试该接口。
URI
- URI格式:
- 参数说明
表1 URI 参数 参数名称
是否必选
参数类型
说明
project_id
是
String
项目编号,用于资源隔离。获取方式请参考获取项目ID。
database_name
是
String
新增表所在的数据库名称。
请求消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
table_name |
是 |
String |
新增表名称。
|
data_location |
是 |
String |
数据存储的地方。范围为:
|
description |
否 |
String |
新增表的描述信息。 |
columns |
是 |
Array of Objects |
新增表的列。列相关参数请参考表4。data_location为VIEW时可不填写。 |
select_statement |
否 |
String |
创建视图时依赖的查找语句。查找语句中的表需要附加所属数据库,即 “数据库.数据表”格式。data_location为VIEW时填写。 |
data_type |
否 |
String |
新增OBS表数据的类型,目前支持:Parquet、ORC、CSV、JSON和Avro格式。
说明:
OBS表必选参数。 |
data_path |
否 |
String |
新增OBS表数据的存储路径,必须是OBS的路径。
说明:
OBS表必选参数。 data_path配置的OBS桶路径不建议为根目录,否则清空表数据的时候,就会把根目录内的数据全部清除,导致数据丢失。 |
with_column_header |
否 |
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”。日期格式字符定义详见表3。只有CSV和JSON类型数据具有该属性。data_location为OBS时填写。 |
timestamp_format |
否 |
String |
用户自定义时间类型。默认格式为“yyyy-MM-dd HH:mm:ss”。时间戳格式字符定义详见表3。只有CSV和JSON类型数据具有该属性。data_location为OBS时填写。 |
tags |
否 |
Array of Objects |
数据库的标签。具体请参考tags参数。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
key |
是 |
String |
标签的键。
说明:
标签的键的最大长度为128个字符,标签的键可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格,不能以_sys_开头。 |
value |
是 |
String |
标签的值。
说明:
标签值的最大长度为255个字符,标签的值可以包含任意语种字母、数字、空格和_ . : =+-@ ,但首尾不能含有空格。 |
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
column_name |
是 |
String |
列的名称。 |
type |
是 |
String |
列的数据类型。具体支持的数据类型请参考数据类型。 |
description |
否 |
String |
列的描述信息。 |
is_partition_column |
否 |
Boolean |
表示该列是否为分区列。“true”表示为分区列,“false”为非分区列,默认为“false”。
说明:
创建分区表时,需要保证表中至少有一列为非分区列。详见“请求样例”。 |
响应消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
is_success |
否 |
Boolean |
执行请求是否成功。“true”表示请求执行成功。 |
message |
否 |
String |
系统提示信息,执行成功时,信息可能为空。 |
请求示例
- 创建一个data_location为OBS表,数据格式为CSV。
{ "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为DLI的表。
{ "table_name": "tb2", "data_location": "DLI", "columns": [ { "column_name": "column1", "type": "string", "description": "", "is_partition_column": true }, { "column_name": "column2", "type": "string", "description": "", "is_partition_column": false } ], "tags": [ { "key": "quarterly", "value": "Q3" }, { "key": "author", "value": "user" } ] }
- 创建一个data_location为VIEW表。
{ "table_name": "tb3", "data_location": "VIEW", "columns": [ { "column_name": "column1", "type": "string", "description": "", "is_partition_column": true }, { "column_name": "column2", "type": "string", "description": "", "is_partition_column": false } ], "select_statement": "select * from db1.tb1" }
响应示例
{ "is_success": true, "message": "" }
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码。