更新时间:2024-10-22 GMT+08:00

创建表

功能介绍

创建表操作。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v1/{project_id}/instances/{instance_id}/catalogs/{catalog_name}/databases/{database_name}/tables

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目编号。获取方法,请参见获取项目ID

instance_id

String

LakeFormation实例ID。创建实例时自动生成。例如:2180518f-42b8-4947-b20b-adfc53981a25。

catalog_name

String

catalog名称。只能包含字母、数字和下划线,且长度为1~256个字符。

database_name

String

数据库名称。只能包含中文、字母、数字、下划线、中划线,且长度为1~128个字符。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

Array of strings

租户token。

表3 请求Body参数

参数

是否必选

参数类型

描述

table_name

String

表名称。只能包含中文、字母、数字、下划线、中划线,且长度为1~256个字符。

table_format

String

表格式。支持{HIVE,ICEBERG},默认值为HIVE。

枚举值:

  • HIVE

  • ICEBERG

table_type

String

表类型:MANAGED_TABLE-内表、EXTERNAL_TABLE-外表、VIRTUAL_VIEW-视图、MATERIALIZED_VIEW-物化视图、DICTIONARY_TABLE字典表。

枚举值:

  • MANAGED_TABLE

  • EXTERNAL_TABLE

  • VIRTUAL_VIEW

  • MATERIALIZED_VIEW

  • DICTIONARY_TABLE

owner

String

表所有者。只能包含字母、数字和下划线,且长度为1~49个字符。

owner_type

String

所有者类型:USER-用户、GROUP-组、ROLE-角色。

枚举值:

  • USER

  • GROUP

  • ROLE

create_time

String

表创建时间。

last_access_time

String

最近一次访问时间。

last_analyzed_time

String

最近一次分析统计时间。

partition_keys

Array of Column objects

分区列的信息。

retention

Integer

表保留时间。

storage_descriptor

StorageDescriptor object

数据存储。

parameters

Map<String,String>

表参数信息,每个键是一个键字符串,不少于 1 个字节或超过 255 个字节 每个值是一个 UTF-8 字符串,不超过 4000 个字节

comments

String

表描述信息。由用户创建表时输入,最大长度为4000个字符。

view_expanded_text

String

如果表是视图,则为视图的扩展文本;否则为null。

view_original_text

String

如果表是视图,则为视图的原始文本;否则为null。

ignore_obs_checked

Boolean

是否忽略内表建表时对Obs路径的限制。

external_table_id

String

用户端表id,创建时指定,不可修改。

data_statistic_enable

Boolean

数据概况统计开关。默认状态为开,修改table开关状态后,还需检查所属database的开关状态。例如:table与所属database开关同时打开,则数据概况统计开启。否则关闭

表4 StorageDescriptor

参数

是否必选

参数类型

描述

columns

Array of Column objects

分区列以外的所有字段。

location

String

路径地址。例如obs://location/uri/。

compressed

Boolean

是否启用数据压缩。默认为false。

input_format

String

输入格式。

output_format

String

输出格式。

number_of_buckets

Integer

分桶的桶数量。默认值为0。

bucket_columns

Array of strings

分桶字段。

sort_columns

Array of Order objects

指定表中的每个存储桶的排序顺序的列表。

serde_info

SerDeInfo object

序列化/反序列化信息。

parameters

Map<String,String>

存储描述符的参数。 key最小长度为1,最大长度为255。 value最大长度为4000

skewed_info

SkewedInfo object

有关在列中经常出现的值(偏斜值)的信息。

stored_as_sub_directories

Boolean

数据是否会存放在子目录中。

表5 Column

参数

是否必选

参数类型

描述

column_type

String

列类型,包括array bigint binary boolean char date decimal double float int interval map set smallint string struct timestamp tinyint union varchar

column_name

String

列名称。只能包含中文、字母、数字和_-+*(), 特殊字符,且长度为1~767个字符。

comment

String

列描述信息。最大长度为4000个字符。

表6 Order

参数

是否必选

参数类型

描述

column

String

列名称。只能包含中文、字母、数字和_-+*(), 特殊字符,且长度为1~767个字符。

sort_order

Integer

指示是按升序 (== 1) 还是降序 (==0) 对列进行排序。

表7 SerDeInfo

参数

是否必选

参数类型

描述

name

String

名称信息。

serialization_library

String

实现序列化/反序列化的类。

parameters

Map<String,String>

参数数组。 key最小值1,最大值255 value最大值4000

表8 SkewedInfo

参数

是否必选

参数类型

描述

skewed_column_names

Array of strings

数据偏移列的列表。

skewed_column_value_location_maps

Map<String,String>

偏斜值和地址的映射关系。

skewed_column_values

Array<Array<String>>

偏斜值的列表。

响应参数

状态码: 201

表9 响应Body参数

参数

参数类型

描述

catalog_name

String

catalog名称。

catalog_id

String

catalogID。

database_name

String

数据库名称。

database_id

String

数据库ID。

table_name

String

表名称。

table_id

String

表ID。

table_status

Integer

表状态,0表示正常,1表示已删除,2表示恢复中。

external_table_id

String

用户端表id,创建时指定,不可修改。

create_time

String

表创建时间。

last_access_time

String

最后访问时间。

update_time

String

表元数据最后一次修改时间。

last_analyzed_time

String

上一次做列级别的统计信息计算的时间。

owner

String

用户信息。

owner_type

String

用户类型,USER-用户,GROUP-组,ROLE-角色。

枚举值:

  • USER

  • GROUP

  • ROLE

parameters

Map<String,String>

参数

partition_keys

Array of Column objects

表分区列的列表。

retention

Integer

表保留时间。

storage_descriptor

StorageDescriptor object

数据存储。

table_format

String

表格式。支持{HIVE,ICEBERG},默认值为HIVE。

枚举值:

  • HIVE

  • ICEBERG

table_type

String

表类型,MANAGED_TABLE-内表,EXTERNAL_TABLE-外表,VIRTUAL_VIEW-视图,MATERIALIZED_VIEW-物化视图,DICTIONARY_TABLE字典表

枚举值:

  • MANAGED_TABLE

  • EXTERNAL_TABLE

  • VIRTUAL_VIEW

  • MATERIALIZED_VIEW

  • DICTIONARY_TABLE

comments

String

表描述信息。

view_expanded_text

String

如果表是视图,则为视图的扩展文本;否则为null。

view_original_text

String

如果表是视图,则为视图的原始文本;否则为null。

data_statistic_enable

Boolean

数据概况统计开关。默认状态为开,修改table开关状态后,还需检查所属database的开关状态。例如:table与所属database开关同时打开,则数据概况统计开启。否则关闭

version_id

String

版本ID

表10 StorageDescriptor

参数

参数类型

描述

columns

Array of Column objects

分区列以外的所有字段。

location

String

路径地址。例如obs://location/uri/。

compressed

Boolean

是否启用数据压缩。默认为false。

input_format

String

输入格式。

output_format

String

输出格式。

number_of_buckets

Integer

分桶的桶数量。默认值为0。

bucket_columns

Array of strings

分桶字段。

sort_columns

Array of Order objects

指定表中的每个存储桶的排序顺序的列表。

serde_info

SerDeInfo object

序列化/反序列化信息。

parameters

Map<String,String>

存储描述符的参数。 key最小长度为1,最大长度为255。 value最大长度为4000

skewed_info

SkewedInfo object

有关在列中经常出现的值(偏斜值)的信息。

stored_as_sub_directories

Boolean

数据是否会存放在子目录中。

表11 Column

参数

参数类型

描述

column_type

String

列类型,包括array bigint binary boolean char date decimal double float int interval map set smallint string struct timestamp tinyint union varchar

column_name

String

列名称。只能包含中文、字母、数字和_-+*(), 特殊字符,且长度为1~767个字符。

comment

String

列描述信息。最大长度为4000个字符。

表12 Order

参数

参数类型

描述

column

String

列名称。只能包含中文、字母、数字和_-+*(), 特殊字符,且长度为1~767个字符。

sort_order

Integer

指示是按升序 (== 1) 还是降序 (==0) 对列进行排序。

表13 SerDeInfo

参数

参数类型

描述

name

String

名称信息。

serialization_library

String

实现序列化/反序列化的类。

parameters

Map<String,String>

参数数组。 key最小值1,最大值255 value最大值4000

表14 SkewedInfo

参数

参数类型

描述

skewed_column_names

Array of strings

数据偏移列的列表。

skewed_column_value_location_maps

Map<String,String>

偏斜值和地址的映射关系。

skewed_column_values

Array<Array<String>>

偏斜值的列表。

状态码: 400

表15 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 404

表16 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 500

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

请求示例

POST https://{endpoint} /v1/{project_id}/instances/{instance_id}/catalogs/{catalog_name}/databases/{database_name}/tables

{
  "table_name" : "tbl86b03ad314fa4ea7943fb769df163a79",
  "table_format" : "HIVE",
  "table_type" : "MANAGED_TABLE",
  "owner" : "onebox",
  "owner_type" : "USER",
  "create_time" : "2023-05-31T01:59:54.000+00:00",
  "last_access_time" : "2023-05-31T01:59:54.000+00:00",
  "last_analyzed_time" : "2023-05-31T01:59:54.000+00:00",
  "partition_keys" : [ {
    "column_type" : "string",
    "column_name" : "column_prefix0",
    "comment" : "5456ac36c75947eab223476dafa58ae0"
  }, {
    "column_type" : "string",
    "column_name" : "column_prefix1",
    "comment" : "d95d1241557e4a769bfcda42974fdf0e"
  } ],
  "retention" : 1000,
  "storage_descriptor" : {
    "columns" : [ {
      "column_type" : "string",
      "column_name" : "column_prefix0",
      "comment" : "3eb10da96ec84ec6b8543b730c0660b2"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix1",
      "comment" : "ee5aa1f3755f425a964f045f59b2c0a0"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix2",
      "comment" : "d47884f69582432db1256e60a8e37ea6"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix3",
      "comment" : "4e26e910310648f1a97b6e17cb2b25ce"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix4",
      "comment" : "85084620943b4d36a9e5d6a856307e73"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix5",
      "comment" : "f78264b5d8ab4409a3a05ebb0434424e"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix6",
      "comment" : "45df8ef109374ac6ab9aaa371b29baa7"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix7",
      "comment" : "c006d18cc411429bacc0f0e1eb75f99e"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix8",
      "comment" : "58e1c81b2c0a4c089570106c8bb4461d"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix9",
      "comment" : "32cc797a16f348ebbf5f2e1f85969603"
    } ],
    "location" : "obs://location/test/database/5e2941387d8741afa217677361d0676f",
    "compressed" : false,
    "input_format" : "850fd4c238934dfdaa3006f388d71f9d",
    "output_format" : "740f42961f1146d39abe19beadc2ad89",
    "number_of_buckets" : 0,
    "bucket_columns" : [ ],
    "sort_columns" : [ ],
    "serde_info" : {
      "name" : "a247cc09ce74477e8c95915bb45e9878",
      "serialization_library" : "9dad2d1dfe944e1d83747997188ed445",
      "parameters" : {
        "347f5f03fdaf46489a39e308be3d2160" : "317b872caa5d4de7bed96f644028ed83"
      }
    },
    "parameters" : {
      "ce43c3c8b9854b749dddabe76c487dd8" : "67393e5c0dc649479399603f6adf1432",
      "8805af26461e49feaf5fb67eef8da574" : "f956a8ac29514f57af9da84043b845f0"
    },
    "skewed_info" : {
      "skewed_column_names" : [ ],
      "skewed_column_value_location_maps" : { },
      "skewed_column_values" : [ ]
    },
    "stored_as_sub_directories" : false
  },
  "parameters" : {
    "key1" : "value1",
    "transient_lastDdlTime" : "120",
    "classification" : "other"
  },
  "comments" : "comment info"
}

响应示例

状态码: 201

Created

{
  "catalog_name" : "catcd6359b2a15f42dc90fca897c15db00a",
  "database_name" : "dbbf565489e3d04b2d8ca03d6e3d48486f",
  "table_name" : "tbl1298911dffa94c449a900ec5dfc50cf8",
  "create_time" : "2023-05-31T02:03:44.016+00:00",
  "last_access_time" : "2023-05-31T02:03:43.000+00:00",
  "update_time" : "2023-05-31T02:03:44.016+00:00",
  "last_analyzed_time" : "2023-05-31T02:03:43.000+00:00",
  "owner" : "onebox",
  "owner_type" : "USER",
  "parameters" : {
    "key1" : "value1",
    "transient_lastDdlTime" : "120",
    "classification" : "other"
  },
  "partition_keys" : [ {
    "column_type" : "string",
    "column_name" : "column_prefix0",
    "comment" : "8be09e713e6b46a08b375b662f93e195"
  }, {
    "column_type" : "string",
    "column_name" : "column_prefix1",
    "comment" : "6874d3047a6c494696438fc64d9a0194"
  } ],
  "retention" : 1000,
  "storage_descriptor" : {
    "columns" : [ {
      "column_type" : "string",
      "column_name" : "column_prefix0",
      "comment" : "5a2968f6141c4d40969c935c39b5accc"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix1",
      "comment" : "39ac0d5c26ce47d8948a5ea49a455742"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix2",
      "comment" : "a8d51537564a4042ab3d88a0acfccf83"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix3",
      "comment" : "d541dd8c95bf4d49853ae5563869821e"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix4",
      "comment" : "9955f7831b3b4bdc8a18c2e20b592976"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix5",
      "comment" : "32115b31e61245fd94162f566c6db966"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix6",
      "comment" : "a6d61e1ad9e14a6da94e242607369284"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix7",
      "comment" : "9dd785a2f6744fa2a8c5a64d78147961"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix8",
      "comment" : "60128f0062a949559f0c95f2656812ae"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix9",
      "comment" : "99d4d3e57af64bd1bb287b5a305b7225"
    } ],
    "location" : "obs://location/test/database/0b288717b41a411dacdd0c9fa2e1c275",
    "compressed" : false,
    "input_format" : "c28e802613a342568a667aeba4961979",
    "output_format" : "9bf425a38fd540c69b68366071b8bbd5",
    "number_of_buckets" : 0,
    "bucket_columns" : [ ],
    "sort_columns" : [ ],
    "serde_info" : {
      "name" : "e044a1458d8c4b7a871e54243d2adb93",
      "serialization_library" : "bb299f2201fe4da0886ecd380a1508a3",
      "parameters" : {
        "2980009b8dfd4b3bb78a96485a3728c2" : "f83395c8db5e4ac1803892b08c209799"
      }
    },
    "parameters" : {
      "64f073b0a9bd49cb8437681f3faa1538" : "f4154f400e6e465cbc8b8b2033a24faf",
      "f31bf1375d4d4097b68e9816388e50a8" : "881546d1b0184048b03ad20d1218104d"
    },
    "skewed_info" : {
      "skewed_column_names" : [ ],
      "skewed_column_value_location_maps" : { },
      "skewed_column_values" : [ ]
    },
    "stored_as_sub_directories" : false
  },
  "table_format" : "HIVE",
  "table_type" : "EXTERNAL_TABLE",
  "comments" : "comment info"
}

状态码: 400

Bad Request

{
  "error_code" : "common.01000001",
  "error_msg" : "failed to read http request, please check your input, code: 400, reason: Type mismatch., cause: TypeMismatchException"
}

状态码: 401

Unauthorized

{
  "error_code": 'APIG.1002',
  "error_msg": 'Incorrect token or token resolution failed'
}

状态码: 403

Forbidden

{
  "error" : {
    "code" : "403",
    "message" : "X-Auth-Token is invalid in the request",
    "error_code" : null,
    "error_msg" : null,
    "title" : "Forbidden"
  },
  "error_code" : "403",
  "error_msg" : "X-Auth-Token is invalid in the request",
  "title" : "Forbidden"
}

状态码: 404

Not Found

{
  "error_code" : "common.01000001",
  "error_msg" : "response status exception, code: 404"
}

状态码: 408

Request Timeout

{
  "error_code" : "common.00000408",
  "error_msg" : "timeout exception occurred"
}

状态码: 500

Internal Server Error

{
  "error_code" : "common.00000500",
  "error_msg" : "internal error"
}

状态码

状态码

描述

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

408

Request Timeout

500

Internal Server Error

错误码

请参见错误码