This topic describes the data structures used by the DLF metadata API.
GetViewResponse
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The details of the view. | - |
| id | string | The view ID. | 1 |
| name | string | The view name. | view_demo |
| schema | ViewSchema | The view structure. | - |
GetTableResponse
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The details of the table. | - |
| id | string | The UUID of the table. | 1 |
| name | string | The table name. | table_test |
| path | string | The table path. | oss://clg-paimon-xxx/db-xxx/tbl-xxxx |
| isExternal | string | Whether the table is an external table. | true |
| schemaId | string | The ID of the table schema. | 1 |
| schema | Schema | The table schema. | - |
| owner | string | The owner of the table. | ALIYUN$1234567 |
| createdAt | long | The time when the table was created. Unix timestamp in milliseconds. | 1741266704867 |
| createdBy | string | The user who created the table. | acs:ram:1234567:root |
| updatedAt | long | The time when the table was last updated. Unix timestamp in milliseconds. | 1741266704867 |
| updatedBy | string | The user who last updated the table. | acs:ram:1045689747920334:root |
Partition
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The details of the partition. | - |
| spec | map | The key-value pairs of the partition values. | {"year":"2025"} |
| recordCount | long | The number of records in the partition. | 1 |
| fileSizeInBytes | long | The total size of the partition files, in bytes. | 1024 |
| fileCount | long | The number of files in the partition. | 1 |
| lastFileCreationTime | long | The creation time of the most recent file. Unix timestamp in milliseconds. | 1741762385537 |
TableSnapshot
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The table snapshot information. | - |
| snapshot | Snapshot | The snapshot details. | - |
| recordCount | long | The total number of records. | 1 |
| fileSizeInBytes | long | The total file size, in bytes. | 1024 |
| fileCount | long | The total number of files. | 24 |
| lastFileCreationTime | long | The creation time of the most recent file. Unix timestamp in milliseconds. | 1741701564261 |
Identifier
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The table identifier. | - |
| databaseName | string | The database name. | db_test |
| tableName | string | The table name. | table_test |
Schema
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The table schema. | - |
| fields | array | The list of table fields. Each element is a DataField. | - |
| partitionKeys | array | The list of partition key names. | ["partition_key1", "partition_key2"] |
| primaryKeys | array | The list of primary key names. | ["pk1", "pk2"] |
| options | map | The table options as key-value pairs. | {"manifest.merge-min-count": "10"} |
| comment | string | The table comment. | test_comment |
DataField
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | A table field definition. | - |
| id | integer | The field ID. | 1 |
| name | string | The field name. | col_name |
| type | DataType | The field data type. | - |
DataType
A DataType is one of the following:
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The data type. Exactly one of the following fields is set. | - |
| primitiveType | string | A primitive data type. Valid values: BIGINT, BINARY, BOOLEAN, CHAR, DATE, DECIMAL, DOUBLE, FLOAT, INT, SMALLINT, TIMESTAMP, TINYINT, VARBINARY, VARCHAR, VARIANT. |
BIGINT |
| arrayType | ArrayType | An array type. | - |
| multisetType | MultisetType | A multiset type. | - |
| mapType | MapType | A map type. | - |
| rowType | RowType | A row type. | - |
SchemaChange
A SchemaChange describes a single schema evolution operation. Each operation is identified by its type field. Use the following table to determine which subtype to use:
| Type value | Structure | Operation |
|---|---|---|
setOption |
SetOption | Sets a table option. |
removeOption |
RemoveOption | Removes a table option. |
updateComment |
UpdateComment | Updates the table comment. |
addColumn |
AddColumn | Adds a column. |
renameColumn |
RenameColumn | Renames a column. |
dropColumn |
DropColumn | Drops a column. |
updateColumnComment |
UpdateColumnComment | Updates a column comment. |
updateColumnType |
UpdateColumnType | Updates a column type. |
updateColumnPosition |
UpdateColumnPosition | Updates a column position. |
updateColumnNullability |
UpdateColumnNullability | Updates column nullability. |
ViewSchema
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | The view structure. | - |
| fields | array | The list of view fields. Each element is a DataField. | - |
| query | string | The view query statement. | - |
| dialects | map\<string, string\> | The SQL dialects and their corresponding query statements. | {"flink": "xxxx", "spark": "xxxx"} |
| comment | string | The view comment. | - |
| options | map | The view options as key-value pairs. | - |
Snapshot
| Name | Type | Nullable | Description | Example |
|---|---|---|---|---|
| - | object | - | The snapshot details. | - |
| version | integer | Yes | The snapshot file format version. The current version is 3. | 3 |
| id | long | No | The snapshot ID. | 6 |
| schemaId | long | No | The ID of the table schema at the time of this snapshot. | 0 |
| baseManifestList | string | No | The base manifest list. | manifest-list-0c6fcaa1-b6bc-413d-9634-6471cce4f37e-2 |
| baseManifestListSize | long | Yes | The size of the base manifest list, in bytes. | 845 |
| deltaManifestList | string | No | The manifest list recording all new changes in this snapshot. | manifest-list-0c6fcaa1-b6bc-413d-9634-6471cce4f37e-3 |
| deltaManifestListSize | long | Yes | The size of the delta manifest list, in bytes. | 759 |
| changelogManifestList | string | Yes | The manifest list recording all changelogs generated in this snapshot. | manifest-list-0c6fcaa1-b6bc-413d-9634-6471cce4f37e-4 |
| changelogManifestListSize | long | Yes | The size of the changelog manifest list, in bytes. | 759 |
| indexManifest | string | Yes | The manifest recording all index files for this table. | index-manifest-7cbdaa47-9578-43ac-ae6e-a7ec0486bba8-0 |
| commitUser | string | No | Usually a UUID, used to resume stream writing. | 446aac61-bd5c-4fa0-8b14-846fa8810651 |
| commitIdentifier | long | No | The transaction ID for stream writing. | 9223372036854775807 |
| commitKind | string | No | The type of stream writing. Valid values: APPEND, COMPACT, OVERWRITE, ANALYZE. |
COMPACT |
| timeMillis | long | No | The commit timestamp in milliseconds. | 1741701564261 |
| logOffsets | Map\<Integer, Long\> | Yes | The log offsets at the time of this commit. | {0: 1L, 1: 3L} |
| totalRecordCount | long | Yes | The total number of records across all changes in this snapshot. | 1024 |
| deltaRecordCount | long | Yes | The number of records in the new changes of this snapshot. | 10 |
| changelogRecordCount | long | Yes | The number of changelog records generated in this snapshot. | 100 |
| watermark | long | Yes | The watermark value. | -9223372036854775808 |
| statistics | string | Yes | The name of the statistics file for this table. | - |
Instant
An Instant is one of the following:
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | A point-in-time reference. Exactly one of the following fields is set. | - |
| snapshotInstant | SnapshotInstant | A snapshot-based instant. | 1 |
| tagInstant | TagInstant | A tag-based instant. | test_tag |
SnapshotInstant
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | A snapshot-based point-in-time reference. | - |
| snapshotId | long | The snapshot ID. | 1 |
TagInstant
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | A tag-based point-in-time reference. | - |
| tagName | string | The tag name. | 1 |
ArrayType
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | An array data type. | - |
| type | string | The type identifier. Pattern: ^ARRAY.*. |
ARRAY |
| element | DataType | The element data type. | INT |
MultisetType
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | A multiset data type. | - |
| type | string | The type identifier. Pattern: ^MULTISET.*. |
MULTISET |
| element | DataType | The element data type. | BIGINT |
MapType
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | A map data type. | - |
| type | string | The type identifier. Pattern: ^MAP.*. |
MAP |
| key | DataType | The key data type. | STRING |
| value | DataType | The value data type. | BOOLEAN |
RowType
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | A row data type. | - |
| type | string | The type identifier. Pattern: ^ROW.*. |
ROW |
| fields | array | The list of fields. Each element is a DataField. | - |
SetOption
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Sets a table option. | - |
| type | string | Fixed value: setOption. |
setOption |
| key | string | The option key. | manifest.delete-file-drop-stats |
| value | string | The option value. | true |
RemoveOption
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Removes a table option. | - |
| type | string | Fixed value: removeOption. |
removeOption |
| key | string | The option key to remove. | manifest.delete-file-drop-stats |
UpdateComment
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Updates the table comment. | - |
| type | string | Fixed value: updateComment. |
updateComment |
| comment | string | The new table comment. | comment_test |
AddColumn
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Adds a column to the table. | - |
| type | string | Fixed value: addColumn. |
addColumn |
| fieldNames | array | The path to the new field, as a list of field name segments. | - |
| dataType | DataType | The data type of the new field. | - |
| comment | string | The field comment. | comment_test |
| move | Move | The position to insert the new field. | - |
RenameColumn
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Renames a column. | - |
| type | string | Fixed value: renameColumn. |
renameColumn |
| fieldNames | array | The path to the field, as a list of field name segments. | - |
| newName | string | The new field name. | new_col_test |
DropColumn
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Drops a column. | - |
| type | string | Fixed value: dropColumn. |
dropColumn |
| fieldNames | array | The path to the field, as a list of field name segments. | - |
UpdateColumnComment
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Updates a column comment. | - |
| type | string | Fixed value: updateColumnComment. |
updateColumnComment |
| fieldNames | array | The path to the field, as a list of field name segments. | - |
| newComment | string | The new field comment. | col_comment_test |
UpdateColumnType
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Updates a column type. | - |
| type | string | Fixed value: updateColumnType. |
updateColumnType |
| fieldNames | array | The path to the field, as a list of field name segments. | - |
| newDataType | DataType | The new field data type. | - |
| keepNullability | boolean | Whether to preserve the existing nullability setting when changing the type. | true |
UpdateColumnPosition
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Updates the position of a column. | - |
| type | string | Fixed value: updateColumnPosition. |
updateColumnPosition |
| fieldNames | array | The path to the field, as a list of field name segments. | - |
| move | Move | The target position for the field. | - |
UpdateColumnNullability
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Updates the nullability of a column. | - |
| type | string | Fixed value: updateColumnNullability. |
updateColumnNullability |
| newNullability | boolean | Whether the column accepts null values. | true |
Move
Specifies how to position a field when adding or moving a column.
| Name | Type | Description | Example |
|---|---|---|---|
| - | object | Column position information. | - |
| fieldName | string | The name of the field to move. | col_test |
| referenceFieldName | string | The reference field for AFTER and BEFORE positioning. |
other_col_test |
| type | string | The move type. Valid values: FIRST, AFTER, BEFORE, LAST. |
FIRST |