
# 创建表 - CreateTable
#### 功能介绍
创建表操作。
#### 调试
您可以在[API Explorer](https://console.huaweicloud.com/apiexplorer/#/openapi/LakeFormation/doc?api=CreateTable)中调试该接口，支持自动认证鉴权。API Explorer可以自动生成SDK代码示例，并提供SDK代码示例调试功能。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-lakeformation/abcd.html)。
#### URI
POST /v1/{project_id}/instances/{instance_id}/catalogs/{catalog_name}/databases/{database_name}/tables
表1路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| project_id    | 是    | String | **参数解释:** 项目编号。获取方法，请参见[获取项目ID](https://support.huaweicloud.com/api-lakeformation/lakeformation_04_0026.html)。 **约束限制:** 长度为1\~64个字符 **取值范围:** 长度为1\~64个字符 **默认取值:** 不涉及 |
| instance_id   | 是    | String | **参数解释:** LakeFormation实例ID。创建实例时自动生成。例如：2180518f-42b8-4947-b20b-adfc53981a25。 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                 |
| catalog_name  | 是    | String | **参数解释:** catalog名称。 **约束限制:** 只能包含字母、数字和下划线，且长度为1\~256个字符。 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                                                                         |
| database_name | 是    | String | **参数解释:** 数据库名称。 **约束限制:** 只能包含中文、字母、数字、下划线、中划线，且长度为1\~128个字符。 **取值范围:** 长度为1\~128个字符 **默认取值:** 不涉及                                                                      |
   
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型             | 描述                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | Array of strings | **参数解释:** 租户token。 **约束限制:** 数组元素个数为1\~100 **取值范围:** 数组元素个数为1\~100 **默认取值:** 不涉及 |
   
表3请求Body参数 
| 参数                             | 是否必选 | 参数类型                                                                                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|:---|
| table_name                     | 是    | String                                                                                | **参数解释:** 表名称。只能包含中文、字母、数字、下划线、中划线，且长度为1\~256个字符 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                                                                                                                                                                                                           |
| table_format                   | 否    | String                                                                                | **参数解释:** 表格式。支持{HIVE,ICEBERG,LANCE}，默认值为HIVE **约束限制:** 可选值为：HIVE, ICEBERG, LANCE **取值范围:** 不涉及 **默认取值:** HIVE                                                                                                                                                                                                         |
| table_type                     | 否    | String                                                                                | **参数解释:** 表类型：MANAGED_TABLE-内表、EXTERNAL_TABLE-外表、VIRTUAL_VIEW-视图、MATERIALIZED_VIEW-物化视图、DICTIONARY_TABLE字典表，LAKE_TABLE内表，LAKE_MATERIALIZED_VIEW-内部物化视图 **约束限制:** 可选值为：MANAGED_TABLE, EXTERNAL_TABLE, VIRTUAL_VIEW, MATERIALIZED_VIEW, DICTIONARY_TABLE, LAKE_TABLE, LAKE_MATERIALIZED_VIEW **取值范围:** 不涉及 **默认取值:** 不涉及 |
| owner                          | 否    | String                                                                                | **参数解释:** 表所有者。只能包含字母、数字和下划线，且长度为1\~49个字符 **约束限制:** 长度为1\~49个字符 **取值范围:** 长度为1\~49个字符 **默认取值:** 不涉及                                                                                                                                                                                                                    |
| owner_type                     | 否    | String                                                                                | **参数解释:** 所有者类型：USER-用户、GROUP-组、ROLE-角色 **约束限制:** 可选值为：USER, GROUP, ROLE **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                                                                                                                   |
| owner_auth_source_type         | 否    | String                                                                                | **参数解释:** 所有者来源：IAM-云用户、SAML-联邦、LDAP-LDAP用户、LOCAL-本地用户、AGENTTENANT-委托、OTHER-其它。LakeFormation服务分为一期和二期，一期响应Body无该参数 **约束限制:** 可选值为：IAM, SAML, LDAP, LOCAL, AGENTTENANT, OTHER **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                               |
| create_time                    | 否    | String                                                                                | **参数解释:** 表创建时间 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                                                                                                                                                              |
| last_access_time               | 否    | String                                                                                | **参数解释:** 最近一次访问时间 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                                                                                                                                                           |
| last_analyzed_time             | 否    | String                                                                                | **参数解释:** 最近一次分析统计时间 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                                                                                                                                                         |
| partition_keys                 | 否    | Array of [Column] objects                               | **参数解释:** 分区列的信息 **约束限制:** 数组元素个数为0\~100 **取值范围:** 数组元素个数为0\~100 **默认取值:** 不涉及                                                                                                                                                                                                                                         |
| retention                      | 否    | Integer                                                                               | **参数解释:** 表保留时间 **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 0                                                                                                                                                                                                                                      |
| storage_descriptor             | 是    | [StorageDescriptor] object                   | **参数解释:** 数据存储 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                                                                                                                                                               |
| parameters                     | 否    | Map\<String,String\>                                                                  | **参数解释:** 表参数信息，键和值为字符串，长度不超过100000 **约束限制:** 长度为0\~100000个字符 **取值范围:** 长度为0\~100000个字符 **默认取值:** 不涉及                                                                                                                                                                                                                  |
| comments                       | 否    | String                                                                                | **参数解释:** 表描述信息。由用户创建表时输入，最大长度为4000个字符 **约束限制:** 长度为0\~4000个字符 **取值范围:** 长度为0\~4000个字符 **默认取值:** 不涉及                                                                                                                                                                                                                   |
| view_expanded_text             | 否    | String                                                                                | **参数解释:** 如果表是视图，则为视图的扩展文本 **约束限制:** 长度为0\~409600个字符 **取值范围:** 长度为0\~409600个字符 **默认取值:** 不涉及                                                                                                                                                                                                                           |
| view_original_text             | 否    | String                                                                                | **参数解释:** 如果表是视图，则为视图的原始文本 **约束限制:** 长度为0\~409600个字符 **取值范围:** 长度为0\~409600个字符 **默认取值:** 不涉及                                                                                                                                                                                                                           |
| ignore_obs_checked             | 否    | Boolean                                                                               | **参数解释:** 是否忽略内表建表时对Obs路径的限制 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** false                                                                                                                                                                                                                                               |
| external_table_id              | 否    | String                                                                                | **参数解释:** 用户端表id，创建时指定，不可修改 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                                                                                                                                                  |
| data_statistic_enable          | 否    | Boolean                                                                               | **参数解释:** 数据概况统计开关。默认状态为开，修改table开关状态后，还需检查所属database的开关状态。例如：table与所属database开关同时打开，则数据概况统计开启。否则关闭 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** true                                                                                                                                                                         |
| create_open_table_format_input | 否    | [CreateOpenTableFormatInput] object | **参数解释:** 开源湖表格式创建结构体 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                                                                                                                                                        |
   
 表4StorageDescriptor 
| 参数                        | 是否必选 | 参数类型                                                    | 描述                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| columns                   | 是    | Array of [Column] objects | **参数解释:** 分区列以外的所有字段 **约束限制:** 数组元素个数为0\~10000 **取值范围:** 数组元素个数为0\~10000 **默认取值:** 不涉及                   |
| location                  | 否    | String                                                  | **参数解释:** 路径地址。例如obs://location/uri/ **约束限制:** 最大长度为4000 **取值范围:** 最大长度为4000 **默认取值:** 不涉及               |
| compressed                | 是    | Boolean                                                 | **参数解释:** 是否启用数据压缩。默认为false **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** false                                  |
| input_format              | 否    | String                                                  | **参数解释:** 输入格式 **约束限制:** 长度为0\~128个字符 **取值范围:** 长度为0\~128个字符 **默认取值:** 不涉及                               |
| output_format             | 否    | String                                                  | **参数解释:** 输出格式 **约束限制:** 长度为0\~128个字符 **取值范围:** 长度为0\~128个字符 **默认取值:** 不涉及                               |
| number_of_buckets         | 否    | Integer                                                 | **参数解释:** 分桶的桶数量。默认值为0 **约束限制:** 取值为-1\~2147483647 **取值范围:** 取值为-1\~2147483647 **默认取值:** 0               |
| bucket_columns            | 否    | Array of strings                                        | **参数解释:** 分桶字段 **约束限制:** 数组元素个数为0\~200 **取值范围:** 长度为1\~255个字符，数组元素个数为0\~200 **默认取值:** 不涉及                |
| sort_columns              | 否    | Array of [Order] objects   | **参数解释:** 指定表中的每个存储桶的排序顺序的列表 **约束限制:** 数组元素个数为0\~10000 **取值范围:** 数组元素个数为0\~10000 **默认取值:** 不涉及           |
| serde_info                | 是    | [SerDeInfo] object     | **参数解释:** 序列化/反序列化信息 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                           |
| parameters                | 是    | Map\<String,String\>                                    | **参数解释:** 存储描述符的参数，键和值为字符串，长度不超过100000 **约束限制:** 长度为0\~100000个字符 **取值范围:** 长度为0\~100000个字符 **默认取值:** 不涉及 |
| skewed_info               | 否    | [SkewedInfo] object   | **参数解释:** 有关在列中经常出现的值（偏斜值）的信息 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                  |
| stored_as_sub_directories | 否    | Boolean                                                 | **参数解释:** 数据是否会存放在子目录中 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** false                                       |
   
 表5Column 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| column_type         | 是    | String | **参数解释:** 列类型。 **约束限制:** 长度为1\~65535个字符 列类型，包括array bigint binary boolean char date decimal double float int interval map set smallint string struct timestamp tinyint union varchar **取值范围:** 长度为1\~65535个字符 **默认取值:** 不涉及 |
| column_name         | 是    | String | **参数解释:** 列名称。只能包含中文、字母、数字和_-+\*(), 特殊字符，且长度为1\~767个字符 **约束限制:** 长度为1\~767个字符 **取值范围:** 长度为1\~767个字符 **默认取值:** 不涉及                                                                                                                                                                                                |
| comment             | 否    | String | **参数解释:** 列描述信息。最大长度为4000个字符 **约束限制:** 长度为0\~4000个字符 **取值范围:** 长度为0\~4000个字符 **默认取值:** 不涉及                                                                                                                                                                                                                        |
| advance_column_type | 否    | String | **参数解释:** 用户自定义类型名称，当且仅当column_type为struct，字段可填写。该字段存在值时，表示用户自定义的高阶类型 **约束限制:** 长度为0\~64个字符 **取值范围:** 长度为0\~64个字符 **默认取值:** 不涉及                                                                                                                                                                                   |
   
 表6Order 
| 参数         | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                          |
|:---|:---|:---|:---|
| column     | 否    | String  | **参数解释:** 列名称。只能包含中文、字母、数字和_-+\*(), 特殊字符，且长度为1\~767个字符 **约束限制:** 长度为1\~767个字符 **取值范围:** 长度为1\~767个字符 **默认取值:** 不涉及 |
| sort_order | 否    | Integer | **参数解释:** 指示是按升序 (== 1) 还是降序 (==0) 对列进行排序 **约束限制:** 取值为0\~1 **取值范围:** 取值为0\~1 **默认取值:** 不涉及                        |
   
 表7SerDeInfo 
| 参数                    | 是否必选 | 参数类型                 | 描述                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| name                  | 否    | String               | **参数解释:** 名称信息 **约束限制:** 长度为0\~256个字符 **取值范围:** 长度为0\~256个字符 **默认取值:** 不涉及                           |
| serialization_library | 否    | String               | **参数解释:** 实现序列化/反序列化的类 **约束限制:** 长度为0\~256个字符 **取值范围:** 长度为0\~256个字符 **默认取值:** 不涉及                   |
| parameters            | 否    | Map\<String,String\> | **参数解释:** 参数数组，键和值为字符串，长度不超过100000 **约束限制:** 长度为0\~100000个字符 **取值范围:** 长度为0\~100000个字符 **默认取值:** 不涉及 |
   
 表8SkewedInfo 
| 参数                                | 是否必选 | 参数类型                     | 描述                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| skewed_column_names               | 是    | Array of strings         | **参数解释:** 数据偏移列的列表 **约束限制:** 数组元素个数为0\~100000 **取值范围:** 长度为1\~256个字符，数组元素个数为0\~100000 **默认取值:** 不涉及 |
| skewed_column_value_location_maps | 是    | Map\<String,String\>     | **参数解释:** 偏斜值和地址的映射关系 **约束限制:** 长度为0\~65534个字符 **取值范围:** 长度为0\~65534个字符 **默认取值:** 不涉及               |
| skewed_column_values              | 是    | Array\<Array\<String\>\> | **参数解释:** 偏斜值的列表 **约束限制:** 数组元素个数为0\~100000 **取值范围:** 长度为0\~65534个字符，数组元素个数为0\~100000 **默认取值:** 不涉及 |
   
 表9CreateOpenTableFormatInput 
| 参数                         | 是否必选 | 参数类型                                                                            | 描述                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| create_iceberg_table_input | 否    | [CreateIcebergTableInput] object | **参数解释:** 开源Iceberg表格式结构体 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及 |
| create_lance_table_input   | 否    | [CreateLanceTableInput] object     | **参数解释:** 开源Lance表格式结构体 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及   |
   
 表10CreateIcebergTableInput 
| 参数             | 是否必选 | 参数类型                                                                      | 描述                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| schema         | 是    | [IcebergSchema] object               | **参数解释:** 定义了Iceberg表的schema结构，包含字段定义，数据类型和schema元数据 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及 |
| partition_spec | 否    | [IcebergPartitionSpec] object | **参数解释:** 定义了Iceberg表的分区规格，决定了分区表数据在查询优化时的性能 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及         |
| write_order    | 否    | [IcebergSortOrder] object         | **参数解释:** 排序顺序规格，决定了数据如何被重新排序以优化查询性能 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                 |
   
 表11IcebergSchema 
| 参数                   | 是否必选 | 参数类型                                                                            | 描述                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| schema_id            | 是    | Integer                                                                         | **参数解释:** 用来记录Iceberg表模式演化历史中模式版本的id **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 不涉及         |
| identifier_field_ids | 是    | Array of integers                                                               | **参数解释:** 字段identifier的列表，可以识别表中的记录，用作行级操作以及去重 **约束限制:** 数组元素个数为0\~10000 **取值范围:** 数组元素个数为0\~10000 **默认取值:** 不涉及 |
| type                 | 是    | String                                                                          | **参数解释:** 固定为struct **约束限制:** 长度为1\~255个字符 **取值范围:** 长度为1\~255个字符，数组元素个数为0\~10000 **默认取值:** 不涉及                  |
| fields               | 是    | Array of [IcebergStructField] objects | **参数解释:** IcebergStructField的列表 **约束限制:** 数组元素个数为0\~10000 **取值范围:** 数组元素个数为0\~10000 **默认取值:** 不涉及                |
| primary_keys         | 否    | Array of integers                                                               | **参数解释:** 用来指定哪些field是主键，列表内填写field_id **约束限制:** 数组元素个数为0\~255 **取值范围:** 数组元素个数为0\~255 **默认取值:** 不涉及             |
| last_column_id       | 否    | Integer                                                                         | **参数解释:** 为该表分配的最高列ID **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 1                          |
   
 表12IcebergStructField 
| 参数            | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| id            | 是    | Integer | **参数解释:** Iceberg表schema内的字段的唯一ID, 被用作模式演化时追溯字段 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                                                                            |
| name          | 是    | String  | **参数解释:** UTF-8字符串 **约束限制:** 长度为1\~1024个字符 **取值范围:** 长度为1\~1024个字符 **默认取值:** 不涉及                                                                                                                                     |
| type          | 是    | String  | **参数解释:** 字段类型, 包含 BOOLEAN, INTEGER, LONG, FLOAT, DOUBLE, DATE, TIME, TIMESTAMP, TIMESTAMP_NANO, STRING, UUID, FIXED, BINARY, DECIMAL, STRUCT, LIST, MAP **约束限制:** 长度为1\~255个字符 **取值范围:** 长度为1\~255个字符 **默认取值:** 不涉及 |
| type_json     | 否    | String  | **参数解释:** 如果type字段输入了STRUCT, LIST, MAP以外的类型，此处应该为空。如果type类型输入了STRUCT, LIST, MAP，此处应该为嵌套类型json体的字符串 **约束限制:** 长度为0\~100000个字符 **取值范围:** 长度为0\~100000个字符 **默认取值:** 不涉及                                                 |
| required      | 是    | Boolean | **参数解释:** 表示这个字段是必须的还是可选的 **约束限制:** 长度为0\~100000个字符 **取值范围:** 长度为0\~100000个字符 **默认取值:** 不涉及                                                                                                                          |
| doc           | 否    | String  | **参数解释:** comment **约束限制:** 长度为0\~10000个字符 **取值范围:** 长度为0\~10000个字符 **默认取值:** 不涉及                                                                                                                                    |
| write_default | 否    | String  | **参数解释:** 字段写入默认值, 在每次写入操作时生效，覆盖显式写入的null值 **约束限制:** 长度为0\~10000个字符 **取值范围:** 长度为0\~10000个字符 **默认取值:** 不涉及                                                                                                           |
   
 表13IcebergPartitionSpec 
| 参数      | 是否必选 | 参数类型                                                                                  | 描述                                                                                                                                                                                                                                                                                                                            |
|:---|:---|:---|:---|
| fields  | 是    | Array of [IcebergPartitionField] objects | **参数解释:** IcebergPartitionField的数组 **约束限制:** 数组元素个数为0\~10000 **取值范围:** 数组元素个数为0\~10000 **默认取值:** 不涉及 |
| spec_id | 是    | Integer                                                                               | **参数解释:** 分区规格的Id **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 不涉及                |
   
 表14IcebergPartitionField 
| 参数        | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                        |
|:---|:---|:---|:---|
| source_id | 是    | Integer | **参数解释:** 分区字段基于来源字段的标识符 **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 不涉及                                                     |
| transform | 是    | String  | **参数解释:** 应用于来源字段的转换函数，可以输入比如identity, bucket, truncate, year, month, day, 或者 hour **约束限制:** 长度为1\~1024个字符 **取值范围:** 长度为1\~1024个字符 **默认取值:** 不涉及 |
| name      | 是    | String  | **参数解释:** 分区字段名称，这个名字会出现在hive分区表的分区名中 **约束限制:** 长度为1\~1024个字符 **取值范围:** 长度为1\~1024个字符 **默认取值:** 不涉及                                              |
| field_id  | 是    | Integer | **参数解释:** Iceberg字段Id **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 不涉及                                                        |
   
 表15IcebergSortOrder 
| 参数       | 是否必选 | 参数类型                                                                        | 描述                                                                                                                                                                                                                                                                                                                       |
|:---|:---|:---|:---|
| order_id | 是    | Integer                                                                     | **参数解释:** 排序规范的id **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 不涉及           |
| fields   | 是    | Array of [IcebergSortField] objects | **参数解释:** IcebergSortField的数组 **约束限制:** 数组元素个数为0\~10000 **取值范围:** 数组元素个数为0\~10000 **默认取值:** 不涉及 |
   
 表16IcebergSortField 
| 参数         | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| source_id  | 是    | Integer | **参数解释:** 来源字段的Id **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 不涉及                                                               |
| transform  | 是    | String  | **参数解释:** 在排序前，先被应用至来源字段的转换函数, 例如，identity, bucket or truncate **约束限制:** 长度为1\~1024个字符 **取值范围:** 长度为1\~1024个字符 **默认取值:** 不涉及                        |
| direction  | 是    | String  | **参数解释:** 当前字段的排序顺序，升序或者降序。ASC代表升序，DESC代表降序 **约束限制:** 可选值为：ASC, DESC **取值范围:** 不涉及 **默认取值:** 不涉及                                                    |
| null_order | 是    | String  | **参数解释:** null值的排序顺序，决定null值是先出现还是后出现。nulls-first代表null值先出现，nulls-last代表null值后出现 **约束限制:** 可选值为：nulls-first, nulls-last **取值范围:** 不涉及 **默认取值:** 不涉及 |
   
 表17CreateLanceTableInput 
| 参数     | 是否必选 | 参数类型                                                    | 描述                                                                                                                                                                                                                                                                                                           |
|:---|:---|:---|:---|
| schema | 否    | [LanceSchema] object | **参数解释:** Lance表的Schema定义,使用LanceSchema标准 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及 |
   
 表18LanceSchema 
| 参数       | 是否必选 | 参数类型                                                            | 描述                                                                                                                                                                                                                                                                                                                               |
|:---|:---|:---|:---|
| fields   | 是    | Array of [ArrowField] objects | **参数解释:** Arrow字段列表，定义表的所有列及其类型信息 **约束限制:** 数组元素个数为0\~10000 **取值范围:** 数组元素个数为0\~10000 **默认取值:** 不涉及     |
| metadata | 否    | Map\<String,String\>                                            | **参数解释:** Schema的元数据信息，key-value形式的附加信息 **约束限制:** 长度为0\~10000个字符 **取值范围:** 长度为0\~10000个字符 **默认取值:** 不涉及 |
   
 表19ArrowField 
| 参数       | 是否必选 | 参数类型                                                            | 描述                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| name     | 是    | String                                                          | **参数解释:** 字段名称 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及                |
| type     | 是    | [ArrowType] object             | **参数解释:** 字段类型，支持Arrow的所有标准类型 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及 |
| nullable | 否    | Boolean                                                         | **参数解释:** 字段是否允许为null **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** true                          |
| metadata | 否    | Map\<String,String\>                                            | **参数解释:** 字段的元数据信息 **约束限制:** 长度为0\~10000个字符 **取值范围:** 长度为0\~10000个字符 **默认取值:** 不涉及        |
| children | 否    | Array of [ArrowField] objects | **参数解释:** 子字段 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                   |
   
 表20ArrowType 
| 参数        | 是否必选 | 参数类型    | 描述                                                                                                                                                                                                                                                                                                                                                                    |
|:---|:---|:---|:---|
| name      | 是    | String  | **参数解释:** Arrow类型名称，如Int, Float, Utf8, Bool, Date, Timestamp, List, Struct等 **约束限制:** 长度为1\~256个字符 **取值范围:** 长度为1\~256个字符 **默认取值:** 不涉及      |
| bit_width | 否    | Integer | **参数解释:** 类型的位宽，适用于Int、Float等数值类型。如Int32的bit_width为32 **约束限制:** 取值为1\~256 **取值范围:** 取值为1\~256 **默认取值:** 不涉及                                  |
| is_signed | 否    | Boolean | **参数解释:** 是否为有符号类型，适用于整数类型 **约束限制:** 不涉及 **取值范围:** 不涉及 **默认取值:** 不涉及                                                                         |
| precision | 否    | Integer | **参数解释:** Decimal类型的精度 **约束限制:** 取值为1\~76 **取值范围:** 取值为1\~76 **默认取值:** 不涉及                                                                   |
| scale     | 否    | Integer | **参数解释:** Decimal类型的标度 **约束限制:** 取值为0\~76 **取值范围:** 取值为0\~76 **默认取值:** 不涉及                                                                   |
| unit      | 否    | String  | **参数解释:** 时间单位，适用于Date、Timestamp、Time类型。如SECOND、MILLISECOND、MICROSECOND、NANOSECOND **约束限制:** 长度为0\~50个字符 **取值范围:** 长度为0\~50个字符 **默认取值:** 不涉及 |
| timezone  | 否    | String  | **参数解释:** 时区信息，适用于Timestamp类型 **约束限制:** 长度为0\~100个字符 **取值范围:** 长度为0\~100个字符 **默认取值:** 不涉及                                                    |
| list_size | 否    | Integer | **参数解释:** FixedSizeList类型的列表大小，表示固定大小列表中的元素数量 **约束限制:** 取值为0\~2147483647 **取值范围:** 取值为0\~2147483647 **默认取值:** 不涉及                            |
   
#### 响应参数
**状态码：201**
表21响应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表示已删除，3表示恢复中，4表示清除中                                                                                                        |
| 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-角色                                                                                                                 |
| parameters            | Map\<String,String\>                                                 | **参数解释:** 参数                                                                                                                                           |
| partition_keys        | Array of [Column] objects             | **参数解释:** 表分区列的列表                                                                                                                                      |
| retention             | Integer                                                              | **参数解释:** 表保留时间                                                                                                                                        |
| storage_descriptor    | [StorageDescriptor] object | **参数解释:** 数据存储                                                                                                                                         |
| table_format          | String                                                               | **参数解释:** 表格式。支持{HIVE,ICEBERG,LANCE}，默认值为HIVE                                                                                                          |
| table_type            | String                                                               | **参数解释:** 表类型，MANAGED_TABLE-内表，EXTERNAL_TABLE-外表，VIRTUAL_VIEW-视图，MATERIALIZED_VIEW-物化视图，DICTIONARY_TABLE字典表，LAKE_TABLE内表，LAKE_MATERIALIZED_VIEW-内部物化视图 |
| comments              | String                                                               | **参数解释:** 表描述信息                                                                                                                                        |
| view_expanded_text    | String                                                               | **参数解释:** 如果表是视图，则为视图的扩展文本                                                                                                                             |
| view_original_text    | String                                                               | **参数解释:** 如果表是视图，则为视图的原始文本                                                                                                                             |
| data_statistic_enable | Boolean                                                              | **参数解释:** 数据概况统计开关。默认状态为开，修改table开关状态后，还需检查所属database的开关状态。例如：table与所属database开关同时打开，则数据概况统计开启。否则关闭                                                    |
| version_id            | String                                                               | **参数解释:** 版本ID                                                                                                                                         |
   
 表22StorageDescriptor 
| 参数                        | 参数类型                                                     | 描述                                                                                                                                                            |
|:---|:---|:---|
| columns                   | Array of [Column] objects | **参数解释:** 分区列以外的所有字段 **取值范围:** 数组元素个数为0\~10000                   |
| location                  | String                                                   | **参数解释:** 路径地址。例如obs://location/uri/ **取值范围:** 最大长度为4000         |
| compressed                | Boolean                                                  | **参数解释:** 是否启用数据压缩。默认为false **取值范围:** 不涉及                        |
| input_format              | String                                                   | **参数解释:** 输入格式 **取值范围:** 长度为0\~128个字符                            |
| output_format             | String                                                   | **参数解释:** 输出格式 **取值范围:** 长度为0\~128个字符                            |
| number_of_buckets         | Integer                                                  | **参数解释:** 分桶的桶数量。默认值为0 **取值范围:** 取值为-1\~2147483647               |
| bucket_columns            | Array of strings                                         | **参数解释:** 分桶字段 **取值范围:** 长度为1\~255个字符，数组元素个数为0\~200              |
| sort_columns              | Array of [Order] objects   | **参数解释:** 指定表中的每个存储桶的排序顺序的列表 **取值范围:** 数组元素个数为0\~10000           |
| serde_info                | [SerDeInfo] object     | **参数解释:** 序列化/反序列化信息 **取值范围:** 不涉及                               |
| parameters                | Map\<String,String\>                                     | **参数解释:** 存储描述符的参数，键和值为字符串，长度不超过100000 **取值范围:** 长度为0\~100000个字符 |
| skewed_info               | [SkewedInfo] object   | **参数解释:** 有关在列中经常出现的值（偏斜值）的信息 **取值范围:** 不涉及                      |
| stored_as_sub_directories | Boolean                                                  | **参数解释:** 数据是否会存放在子目录中 **取值范围:** 不涉及                             |
   
 表23Column 
| 参数                  | 参数类型   | 描述                                                                                                                                                                                       |
|:---|:---|:---|
| column_type         | String | **参数解释:** 列类型。 **取值范围:** 长度为1\~65535个字符                                                       |
| column_name         | String | **参数解释:** 列名称。只能包含中文、字母、数字和_-+\*(), 特殊字符，且长度为1\~767个字符 **取值范围:** 长度为1\~767个字符               |
| comment             | String | **参数解释:** 列描述信息。最大长度为4000个字符 **取值范围:** 长度为0\~4000个字符                                        |
| advance_column_type | String | **参数解释:** 用户自定义类型名称，当且仅当column_type为struct，字段可填写。该字段存在值时，表示用户自定义的高阶类型 **取值范围:** 长度为0\~64个字符 |
   
 表24Order 
| 参数         | 参数类型    | 描述                                                                                                                                                                         |
|:---|:---|:---|
| column     | String  | **参数解释:** 列名称。只能包含中文、字母、数字和_-+\*(), 特殊字符，且长度为1\~767个字符 **取值范围:** 长度为1\~767个字符 |
| sort_order | Integer | **参数解释:** 指示是按升序 (== 1) 还是降序 (==0) 对列进行排序 **取值范围:** 取值为0\~1                   |
   
 表25SerDeInfo 
| 参数                    | 参数类型                 | 描述                                                                                                                                                        |
|:---|:---|:---|
| name                  | String               | **参数解释:** 名称信息 **取值范围:** 长度为0\~256个字符                        |
| serialization_library | String               | **参数解释:** 实现序列化/反序列化的类 **取值范围:** 长度为0\~256个字符                |
| parameters            | Map\<String,String\> | **参数解释:** 参数数组，键和值为字符串，长度不超过100000 **取值范围:** 长度为0\~100000个字符 |
   
 表26SkewedInfo 
| 参数                                | 参数类型                     | 描述                                                                                                                                                      |
|:---|:---|:---|
| skewed_column_names               | Array of strings         | **参数解释:** 数据偏移列的列表 **取值范围:** 长度为1\~256个字符，数组元素个数为0\~100000 |
| skewed_column_value_location_maps | Map\<String,String\>     | **参数解释:** 偏斜值和地址的映射关系 **取值范围:** 长度为0\~65534个字符             |
| skewed_column_values              | Array\<Array\<String\>\> | **参数解释:** 偏斜值的列表 **取值范围:** 长度为0\~65534个字符，数组元素个数为0\~100000 |
   
**状态码：400**
表27响应Body参数 
| 参数           | 参数类型   | 描述                                              |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：401**
表28响应Body参数 
| 参数           | 参数类型   | 描述                                              |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：403**
表29响应Body参数 
| 参数         | 参数类型                                         | 描述                                            |
|:---|:---|:---|
| error      | [Error] object | **参数解释:** 错误信息 |
| error_code | String                                       | **参数解释:** 错误码  |
| error_msg  | String                                       | **参数解释:** 错误描述 |
| title      | String                                       | **参数解释:** 标题   |
   
 表30Error 
| 参数         | 参数类型   | 描述                                            |
|:---|:---|:---|
| error_code | String | **参数解释:** 错误码  |
| error_msg  | String | **参数解释:** 错误描述 |
| title      | String | **参数解释:** 标题   |
| message    | String | **参数解释:** 错误信息 |
| code       | String | **参数解释:** 状态码  |
   
**状态码：404**
表31响应Body参数 
| 参数           | 参数类型   | 描述                                              |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：408**
表32响应Body参数 
| 参数           | 参数类型   | 描述                                              |
|:---|:---|:---|
| error_code   | String | **参数解释:** 错误码    |
| error_msg    | String | **参数解释:** 错误描述   |
| solution_msg | String | **参数解释:** 解决方案描述 |
   
**状态码：500**
表33响应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 |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-lakeformation/ErrorCode.html)。
