Updated on 2024-02-21 GMT+08:00

Obtaining Table Information

Function

This API is used to obtain table information.

URI

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

Table 1 Path Parameters

Parameter

Mandatory

Type

Description

project_id

Yes

String

Project ID. For how to obtain the project ID, see Obtaining a Project ID (lakeformation_04_0026.xml).

instance_id

Yes

String

LakeFormation instance ID. The value is automatically generated when the instance is created, for example, 2180518f-42b8-4947-b20b-adfc53981a25.

catalog_name

Yes

String

Catalog name. The value should contain 1 to 256 characters. Only letters, numbers, and underscores (_) are allowed.

database_name

Yes

String

Database name. The value should contain 1 to 128 characters. Only letters, numbers, hyphens (-), and underscores (_) are allowed.

table_name

Yes

String

Table name. The value should contain 1 to 256 characters. Only letters, numbers, hyphens (-), and underscores (_) are allowed.

Request Parameters

Table 2 Request header parameters

Parameter

Mandatory

Type

Description

X-Auth-Token

Yes

Array of strings

Tenant token.

Response Parameters

Status code: 200

Table 3 Response body parameters

Parameter

Type

Description

catalog_name

String

Catalog name.

catalog_id

String

catalogID.

database_name

String

Database name.

database_id

String

Database ID.

table_name

String

Table name.

table_id

String

Table ID.

table_status

Integer

Table status. The options are 0 (normal), 1 (deleted), 2 (restoring).

external_table_id

String

User table ID, which is specified during creation and cannot be changed.

create_time

String

Table creation time.

last_access_time

String

Last access time.

update_time

String

Table metadata last modification time.

last_analyzed_time

String

Last time when column-level statistics were calculated.

owner

String

User information.

owner_type

String

User type. The options are USER (user), GROUP (group), and ROLE (role).

Enumeration values:

  • USER
  • GROUP
  • ROLE

parameters

Map<String,String>

Parameter.

partition_keys

Array of Column objects

List of table partition columns.

retention

Integer

Table retention period.

storage_descriptor

StorageDescriptor object

Data storage.

table_type

String

Table type. The options are MANAGED_TABLE (internal tables), EXTERNAL_TABLE (foreign tables), VIRTUAL_VIEW (views), MATERIALIZED_VIEW (materialized views), and DICTIONARY_TABLE (dictionary tables).

Enumeration values:

  • MANAGED_TABLE
  • EXTERNAL_TABLE
  • VIRTUAL_VIEW
  • MATERIALIZED_VIEW
  • DICTIONARY_TABLE

comments

String

Table description.

view_expanded_text

String

If the table type is set to view, the value of this parameter is the extended text of a view; otherwise, the value is null.

view_original_text

String

If the table type is set to view, the value of this parameter is the original text of a view; otherwise, the value is null.

Table 4 StorageDescriptor

Parameter

Type

Description

columns

Array of Column objects

All fields except partition columns.

location

String

Path, for example, obs://location/uri/.

compressed

Boolean

Whether to enable data compression. The default value is false.

input_format

String

Input format.

output_format

String

Output format.

number_of_buckets

Integer

Number of buckets. The default value is 0.

bucket_columns

Array of strings

Bucket field.

sort_columns

Array of Order objects

A list that specifies the bucket sorting method.

serde_info

SerDeInfo object

Serialization/Deserialization information.

parameters

Map<String,String>

Descriptor storage parameter. key can contain 255 characters at most. value can contain a maximum of 4,000 characters.

skewed_info

SkewedInfo object

Information about values (skewed values) that often appear in a column.

stored_as_sub_directories

Boolean

Whether to store data in subdirectories.

Table 5 Column

Parameter

Type

Description

column_type

String

Column type, including array, bigint, binary, boolean, char, date, decimal, double, float, int, interval, map, set, smallint, string, struct, timestamp, tinyint, union, and varchar.

column_name

String

Column name. The value can contain 1 to 767 characters. Only letters, digits, and special characters (_-+*(),) are allowed.

comment

String

Description of a column. Enter a maximum of 4,000 characters.

Table 6 Order

Parameter

Type

Description

column

String

Column name. The value can contain 1 to 767 characters. Only letters, digits, and special characters (_-+*(),) are allowed.

sort_order

Integer

Sorting method. The values are ==1 (ascending order) and ==0 (descending order).

Table 7 SerDeInfo

Parameter

Type

Description

name

String

Names.

serialization_library

String

Class that implements serialization/deserialization.

parameters

Map<String,String>

Parameters. The value of key ranges from 1 to 255. The maximum value of value is 4000.

Table 8 SkewedInfo

Parameter

Type

Description

skewed_column_names

Array of strings

List of skewed columns.

skewed_column_value_location_maps

Map<String,String>

Mapping between skew values and addresses.

skewed_column_values

Array<Array<String>>

List of skewed values.

Status code: 400

Table 9 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

solution_msg

String

Solution.

Status code: 404

Table 10 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

solution_msg

String

Solution.

Status code: 500

Table 11 Response body parameters

Parameter

Type

Description

error_code

String

Error code.

error_msg

String

Error message.

solution_msg

String

Solution.

Example Requests

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

Example Responses

Status code: 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" : ""
}

Status code: 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"
}

Status code: 401

Unauthorized

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

Status code: 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"
}

Status code: 404

Not Found

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

Status code: 408

Request Timeout

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

Status code: 500

Internal Server Error

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

Status Codes

Status Code

Description

200

OK

400

Bad Request

401

Unauthorized

403

Forbidden

404

Not Found

408

Request Timeout

500

Internal Server Error

Error Codes

See Error Codes.