修改表信息
功能介绍
修改表信息。
调试
您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。
URI
PUT /v1/{project_id}/instances/{instance_id}/catalogs/{catalog_name}/databases/{database_name}/tables/{table_name}
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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个字符。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
X-Auth-Token |
是 |
Array of strings |
租户token。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
alter_params |
否 |
Map<String,String> |
修改表参数映射信息,支持的参数如下: CASADE: 级联删除列,如果为true则会把partition中的列也删除;如果为false则不会 DO_NOT_UPDATE_STATS: 不更新文件级别统计信息。true则不更新;false则更新。 STATS_GENERATED:记录本次更新的发起者。可填:TASK/USET。具体作用未明确。 |
table |
是 |
UpdateTableInput object |
表输入模型。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
table_name |
是 |
String |
表名称。只能包含中文、字母、数字、下划线、中划线,且长度为1~256个字符。 |
table_format |
否 |
String |
表格式。支持{HIVE,ICEBERG},默认值为HIVE。 |
table_type |
否 |
String |
表类型:MANAGED_TABLE-内表、EXTERNAL_TABLE-外表、VIRTUAL_VIEW-视图、MATERIALIZED_VIEW-物化视图、DICTIONARY_TABLE字典表。 |
owner |
否 |
String |
表所有者。只能包含字母、数字和下划线,且长度为1~49个字符。 |
owner_type |
否 |
String |
所有者类型: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 字符串,不超过 10000 个字节 |
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,可在修改时传入,默认为最新版本 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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 |
数据是否会存放在子目录中。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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个字符。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
column |
否 |
String |
列名称。只能包含中文、字母、数字和_-+*(), 特殊字符,且长度为1~767个字符。 |
sort_order |
否 |
Integer |
指示是按升序 (== 1) 还是降序 (==0) 对列进行排序。 |
响应参数
状态码:200
参数 |
参数类型 |
描述 |
---|---|---|
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},默认值为HIVE。 |
table_type |
String |
表类型,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 |
参数 |
参数类型 |
描述 |
---|---|---|
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 |
数据是否会存放在子目录中。 |
参数 |
参数类型 |
描述 |
---|---|---|
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个字符。 |
参数 |
参数类型 |
描述 |
---|---|---|
column |
String |
列名称。只能包含中文、字母、数字和_-+*(), 特殊字符,且长度为1~767个字符。 |
sort_order |
Integer |
指示是按升序 (== 1) 还是降序 (==0) 对列进行排序。 |
参数 |
参数类型 |
描述 |
---|---|---|
name |
String |
名称信息。 |
serialization_library |
String |
实现序列化/反序列化的类。 |
parameters |
Map<String,String> |
参数数组。 key最小值1,最大值255 value最大值4000 |
参数 |
参数类型 |
描述 |
---|---|---|
skewed_column_names |
Array of strings |
数据偏移列的列表。 |
skewed_column_value_location_maps |
Map<String,String> |
偏斜值和地址的映射关系。 |
skewed_column_values |
Array<Array<String>> |
偏斜值的列表。 |
状态码:400
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
solution_msg |
String |
解决方案描述。 |
状态码:401
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
solution_msg |
String |
解决方案描述。 |
状态码:403
参数 |
参数类型 |
描述 |
---|---|---|
error |
Error object |
错误信息。 |
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
title |
String |
标题。 |
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
title |
String |
标题。 |
message |
String |
错误信息。 |
code |
String |
状态码。 |
状态码:404
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
solution_msg |
String |
解决方案描述。 |
状态码:408
参数 |
参数类型 |
描述 |
---|---|---|
error_code |
String |
错误码。 |
error_msg |
String |
错误描述。 |
solution_msg |
String |
解决方案描述。 |
状态码:500
参数 |
参数类型 |
描述 |
---|---|---|
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 |
错误码
请参见错误码。