All Products
Search
Document Center

Data Lake Formation:Data structures

Last Updated:Mar 26, 2026

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