创建表
功能介绍
该API用于创建新的表。
URI
- URI格式:
- 参数说明
表1 URI 参数 参数名称
是否必选
参数类型
说明
project_id
是
String
项目编号,用于资源隔离。获取方式请参考获取项目ID。
database_name
是
String
新增表所在的数据库名称。
请求消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
table_name |
是 |
String |
新增表名称。
|
data_location |
是 |
String |
数据存储的地方。范围为:
|
description |
否 |
String |
新增表的描述信息。 |
columns |
是 |
Array of Objects |
新增表的列。列相关参数请参考表3。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时填写。 |
响应消息
参数名称 |
是否必选 |
参数类型 |
说明 |
---|---|---|---|
is_success |
否 |
Boolean |
执行请求是否成功。“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", "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": "" }
错误码
调用接口出错后,将不会返回上述结果,而是返回错误码和错误信息,更多介绍请参见错误码。