Перейти к основному содержимому
Версия: 2.0.x

Таблицы метаданных Iceberg

Этот раздел описывает, как проверять информацию о метаданных таблиц Iceberg в Selena.

Обзор

Начиная с v1.5.2, Selena поддерживает таблицы метаданных Iceberg. Эти таблицы метаданных содержат различную информацию о таблицах Iceberg, такую как история изменений таблицы, snapshots и manifests. Вы можете запросить каждую таблицу метаданных, добавив имя таблицы метаданных к исходному имени таблицы.

В настоящее время Selena поддерживает следующие таблицы метаданных Iceberg:

Таблица метаданныхОписание
historyПоказывает журнал изменений метаданных, внесенных в таблицу.
metadata_log_entriesПоказывает записи журнала метаданных для таблицы.
snapshotsПоказывает сведения о snapshots таблицы.
manifestsПоказывает обзор manifests, связанных со snapshots в журнале таблицы.
partitionsПоказывает сведения о partition в таблице.
filesПоказывает сведения о файлах данных и файлах удаления в текущем snapshot таблицы.
refsПоказывает сведения о ссылках Iceberg, включая branches и tags.

Таблица history

Использование:

SELECT * FROM [<catalog>.][<database>.]table$history;

Вывод:

ПолеОписание
made_current_atВремя, когда snapshot стал текущим snapshot.
snapshot_idID snapshot.
parent_idID родительского snapshot.
is_current_ancestorЯвляется ли этот snapshot предком текущего snapshot.

Таблица metadata_log_entries

Использование:

SELECT * FROM [<catalog>.][<database>.]table$metadata_log_entries;

Вывод:

ПолеОписание
timestampВремя, когда были записаны метаданные.
fileМестоположение файла метаданных.
latest_snapshot_idID последнего snapshot, когда метаданные были обновлены.
latest_schema_idID последней схемы, когда метаданные были обновлены.
latest_sequence_numberПорядковый номер данных файла метаданных.

Таблица snapshots

Использование:

SELECT * FROM [<catalog>.][<database>.]table$snapshots;

Вывод:

ПолеОписание
committed_atВремя, когда snapshot был зафиксирован.
snapshot_idID для snapshot.
parent_idID для родительского snapshot.
operationТип операции, выполненной на таблице Iceberg. Допустимые значения:
  • append: Новые данные добавлены.
  • replace: Файлы удалены и заменены без изменения данных в таблице.
  • overwrite: Старые данные перезаписаны новыми данными.
  • delete: Данные удалены из таблицы.
manifest_listСписок файлов manifest Avro, которые содержат подробную информацию об изменениях snapshot.
summaryСводка изменений, внесенных из предыдущего snapshot в текущий snapshot.

Таблица manifests

Использование:

SELECT * FROM [<catalog>.][<database>.]table$manifests;

Вывод:

ПолеОписание
pathМестоположение файла manifest.
lengthДлина файла manifest.
partition_spec_idID спецификации partition, которая используется для записи файла manifest.
added_snapshot_idID snapshot, во время которого эта запись manifest была добавлена.
added_data_files_countКоличество файлов данных со статусом ADDED в файле manifest.
added_rows_countОбщее количество строк во всех файлах данных со статусом ADDED в файле manifest.
existing_data_files_countКоличество файлов данных со статусом EXISTING в файле manifest.
existing_rows_countОбщее количество строк во всех файлах данных со статусом EXISTING в файле manifest.
deleted_data_files_countКоличество файлов данных со статусом DELETED в файле manifest.
deleted_rows_countОбщее количество строк во всех файлах данных со статусом DELETED в файле manifest.
partition_summariesМетаданные диапазона partition.

Таблица partitions

Использование:

SELECT * FROM [<catalog>.][<database>.]table$partitions;

Вывод:

ПолеОписание
partition_valueСопоставление имен столбцов partition со значениями столбцов partition.
spec_idSpec ID partition файлов.
record_countКоличество записей в partition.
file_countКоличество файлов, сопоставленных в partition.
total_data_file_size_in_bytesРазмер всех файлов данных в partition.
position_delete_record_countОбщее количество строк файлов Position Delete в partition.
position_delete_file_countКоличество файлов Position Delete в partition.
equality_delete_record_countОбщее количество строк файлов Equality Delete в partition.
equality_delete_file_countКоличество файлов Position Equality в partition.
last_updated_atВремя, когда partition был обновлен в последний раз.

Таблица files

Использование:

SELECT * FROM [<catalog>.][<database>.]table$files;

Вывод:

ПолеОписание
contentТип содержимого, хранящегося в файле. Допустимые значения: DATA(0), POSITION_DELETES(1) и EQUALITY_DELETES(2).
file_pathМестоположение файла данных.
file_formatФормат файла данных.
spec_idSpec ID, который используется для отслеживания файла, содержащего строку.
record_countКоличество записей, содержащихся в файле данных.
file_size_in_bytesРазмер файла данных.
column_sizesСопоставление между ID столбца Iceberg и его соответствующим размером в файле.
value_countsСопоставление между ID столбца Iceberg и его соответствующим количеством записей в файле.
null_value_countsСопоставление между ID столбца Iceberg и его соответствующим количеством значений NULL в файле.
nan_value_countsСопоставление между ID столбца Iceberg и его соответствующим количеством нечисловых значений в файле.
lower_boundsСопоставление между ID столбца Iceberg и его соответствующей нижней границей в файле.
upper_boundsСопоставление между ID столбца Iceberg и его соответствующей верхней границей в файле.
split_offsetsСписок рекомендуемых местоположений для разделения.
sort_idID, представляющий порядок сортировки для этого файла.
equality_idsНабор ID полей, используемых для сравнения равенства в файлах equality delete.
key_metadataМетаданные о ключе шифрования, который используется для шифрования этого файла, если применимо.

Таблица refs

Использование:

SELECT * FROM [<catalog>.][<database>.]table$refs;

Вывод:

ПолеОписание
nameИмя ссылки.
typeТип ссылки. Допустимые значения: BRANCH или TAG.
snapshot_idSnapshot ID ссылки.
max_reference_age_in_msМаксимальный возраст ссылки до того, как она может истечь.
min_snapshots_to_keepТолько для branch, минимальное количество snapshots для сохранения в branch.
max_snapshot_age_in_msТолько для branch, максимальный возраст snapshot, разрешенный в branch. Более старые snapshots в branch истекут.