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

修改表信息

功能介绍

修改表信息。

调试

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

URI

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

表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个字符。

table_name

String

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

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

Array of strings

租户token。

表3 请求Body参数

参数

是否必选

参数类型

描述

alter_params

Map<String,String>

修改表参数映射信息,支持的参数如下: CASADE: 级联删除列,如果为true则会把partition中的列也删除;如果为false则不会 DO_NOT_UPDATE_STATS: 不更新文件级别统计信息。true则不更新;false则更新。 STATS_GENERATED:记录本次更新的发起者。可填:TASK/USET。具体作用未明确。

table

UpdateTableInput object

表输入模型。

表4 UpdateTableInput

参数

是否必选

参数类型

描述

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开关同时打开,则数据概况统计开启。否则关闭

version_id

String

版本ID,可在修改时传入,默认为最新版本

表5 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

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

表6 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个字符。

表7 Order

参数

是否必选

参数类型

描述

column

String

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

sort_order

Integer

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

表8 SerDeInfo

参数

是否必选

参数类型

描述

name

String

名称信息。

serialization_library

String

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

parameters

Map<String,String>

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

表9 SkewedInfo

参数

是否必选

参数类型

描述

skewed_column_names

Array of strings

数据偏移列的列表。

skewed_column_value_location_maps

Map<String,String>

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

skewed_column_values

Array<Array<String>>

偏斜值的列表。

响应参数

状态码: 200

表10 响应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

表11 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

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

表12 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个字符。

表13 Order

参数

参数类型

描述

column

String

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

sort_order

Integer

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

表14 SerDeInfo

参数

参数类型

描述

name

String

名称信息。

serialization_library

String

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

parameters

Map<String,String>

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

表15 SkewedInfo

参数

参数类型

描述

skewed_column_names

Array of strings

数据偏移列的列表。

skewed_column_value_location_maps

Map<String,String>

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

skewed_column_values

Array<Array<String>>

偏斜值的列表。

状态码: 400

表16 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 404

表17 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

状态码: 500

表18 响应Body参数

参数

参数类型

描述

error_code

String

错误码。

error_msg

String

错误描述。

solution_msg

String

解决方案描述。

请求示例

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

{
  "alter_params" : {
    "CASCADE" : "TRUE"
  },
  "table" : {
    "table_name" : "tbl08e39978e97b4266a7074fd92127e032",
    "table_format" : "HIVE",
    "table_type" : "EXTERNAL_TABLE",
    "owner" : "onebox",
    "owner_type" : "USER",
    "create_time" : "2023-05-31T02:06:58.000+00:00",
    "last_access_time" : "2023-05-31T02:06:58.000+00:00",
    "last_analyzed_time" : "2023-05-31T02:06:58.000+00:00",
    "partition_keys" : [ {
      "column_type" : "string",
      "column_name" : "column_prefix0",
      "comment" : "372f0f259ed049f5876050dcd13df630"
    }, {
      "column_type" : "string",
      "column_name" : "column_prefix1",
      "comment" : "6bb9dd73db49498d9aaabd343bfad689"
    } ],
    "retention" : 1000,
    "storage_descriptor" : {
      "columns" : [ {
        "column_type" : "string",
        "column_name" : "column_prefix0",
        "comment" : "4a4eca73554c4117b480fd73d8d6697b"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix1",
        "comment" : "5dc9df8676324e989440b0e6669d9338"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix2",
        "comment" : "b73c6fdb55594366bcd25c45ffbbee47"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix3",
        "comment" : "74fe507023414e2ba6137aaee059c3f9"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix4",
        "comment" : "4bd450c11ea24884875cd62e9d3e42dc"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix5",
        "comment" : "2457eea4a38e4ead8bbc065985279544"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix6",
        "comment" : "39b5869cea974e1488a47584acf4c313"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix7",
        "comment" : "90928727a6bb4c6ca2e3497ea9b31bf8"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix8",
        "comment" : "90d6544f85004c58a056891f7d00fbb2"
      }, {
        "column_type" : "string",
        "column_name" : "column_prefix9",
        "comment" : "8e993211dcad4adbacc360c9e5d0bbd9"
      } ],
      "location" : "obs://location/test/database/7b2fad385fd8434cbb8e759094a068cf",
      "compressed" : false,
      "input_format" : "9ea8ec4fc8dc4faaa8e5d1ed1e2db776",
      "output_format" : "ce56f7ea7a754a14a5c4525b296cc6f1",
      "number_of_buckets" : 0,
      "bucket_columns" : [ ],
      "sort_columns" : [ ],
      "serde_info" : {
        "name" : "f69aa43399ec498dbc42290d8e26ac6d",
        "serialization_library" : "fe216304f4f84411ba2d52b32688bfe6",
        "parameters" : {
          "f2d383124614470895a0ce2619bf3a32" : "69ee824ac98944d78f321af7a6edd538"
        }
      },
      "parameters" : {
        "dbc72b6d947e4d6f9a4b5ec081ebd07a" : "e5f22c513e984e3cb279ba5e40a2f69a",
        "64eb05edecae4722befd2e3575d3cbe8" : "656c632c586940649fcc1a4e62c8c0a1"
      },
      "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"
  }
}

响应示例

状态码: 200

OK

{
  "catalog_name" : "hive",
  "database_name" : "dba",
  "table_name" : "www",
  "create_time" : "2022-11-19T03:10:14.000+00:00",
  "last_access_time" : "2022-12-31T23:59:59.000+00:00",
  "update_time" : null,
  "last_analyzed_time" : null,
  "owner" : "lakeformation",
  "owner_type" : "USER",
  "parameters" : {
    "ww" : "ww",
    "transient_lastDdlTime" : "1668827414",
    "classification" : "avro",
    "www" : "ww",
    "wwww" : "ww"
  },
  "partition_keys" : [ ],
  "retention" : 0,
  "storage_descriptor" : {
    "columns" : [ {
      "column_type" : "tinyint",
      "column_name" : "ww",
      "comment" : null
    } ],
    "location" : "obs://lakeformation/test",
    "compressed" : true,
    "input_format" : "org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat",
    "output_format" : "org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat",
    "number_of_buckets" : 0,
    "bucket_columns" : [ ],
    "sort_columns" : [ ],
    "serde_info" : {
      "name" : "name",
      "serialization_library" : "org.apache.hadoop.hive.serde2.avro.AvroSerDe",
      "parameters" : {
        "serialization.format" : "1"
      }
    },
    "parameters" : { },
    "skewed_info" : {
      "skewed_column_names" : [ ],
      "skewed_column_value_location_maps" : { },
      "skewed_column_values" : [ ]
    },
    "stored_as_sub_directories" : false
  },
  "table_type" : "MANAGED_TABLE",
  "comments" : "",
  "view_expanded_text" : "",
  "view_original_text" : ""
}

状态码: 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"
}

状态码

状态码

描述

200

OK

201

Created

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

408

Request Timeout

500

Internal Server Error

错误码

请参见错误码

相关文档