Перейти к содержимому
Последнее обновление

ICEBERG_META

Изменение поведения (4.1.4)

Табличная функция iceberg_meta() удалена в версии 4.1.4. При её вызове выводится ошибка:

ERROR 1105 (HY000): errCode = 2, detailMessage = Could not find table function iceberg_meta

Для получения тех же метаданных используйте системные таблицы Iceberg. Системные таблицы поддерживаются с версии 3.1.0, охватывают все значения query_type функции iceberg_meta() и предоставляют доступ к дополнительным типам метаданных. См. Системные таблицы Iceberg Catalog.

В версиях до 4.1.4 по-прежнему можно использовать iceberg_meta(), поэтому описание её использования сохранено в этом документе для справки.

Описание​

Табличная функция iceberg_meta (tvf) используется для чтения метаданных Iceberg: истории операций, снимков таблицы, метаданных файлов и т. д.

Замена: системные таблицы Iceberg​

Для доступа к системной таблице к имени таблицы добавляют $ и имя системной таблицы:

SELECT * FROM <catalog>.<database>.<table>$<system_table_name>;

Каждому значению query_type функции iceberg_meta() соответствует системная таблица:

query_type функции iceberg_meta()Соответствующая системная таблица
snapshots<table>$snapshots
manifests<table>$manifests
all_manifests<table>$all_manifests
files<table>$files
data_files<table>$data_files
delete_files<table>$delete_files
partitions<table>$partitions
refs<table>$refs
history<table>$history
metadata_log_entries<table>$metadata_log_entries

Примеры замены запросов:

-- Before 4.1.4
SELECT * FROM iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "snapshots");

-- 4.1.4 and later
SELECT * FROM iceberg_ctl.test_db.test_tbl$snapshots;
-- Before 4.1.4: filtered by the snapshot_id column
SELECT * FROM iceberg_meta("table" = "iceberg_ctl.test_db.test_tbl", "query_type" = "snapshots")
WHERE snapshot_id = 98865735822;

-- 4.1.4 and later
SELECT * FROM iceberg_ctl.test_db.test_tbl$snapshots WHERE snapshot_id = 98865735822;

Синтаксис (до версии 4.1.4)​

ICEBERG_META(
"table" = "<table>",
"query_type" = "<query_type>"
);

Обязательные параметры (до версии 4.1.4)​

Каждый параметр табличной функции iceberg_meta (tvf) представляет собой пару "key"="value".

ПолеОписание
<table>Полное имя таблицы Iceberg, которую требуется просмотреть; указывается в формате database_name.table_name.
<query_type>Тип метаданных, которые требуется просмотреть. Поддерживаемые типы:
snapshots: информация о снимках
manifests: файлы манифестов текущего снимка
all_manifests: файлы манифестов всех действительных снимков (поддерживается с версии 4.0.4)
files: информация о файлах текущего снимка
data_files: файлы данных текущего снимка
delete_files: файлы удалений текущего снимка
partitions: информация о разделах
refs: информация о ссылках (ветки и теги)
history: записи истории
metadata_log_entries: записи журнала метаданных

Примеры​

  • Чтение и просмотр метаданных снимков таблицы Iceberg.

    select * from iceberg_ctl.db.tbl$snapshots;
  • Просмотр снимков таблицы Iceberg:

    select * from iceberg_ctl.test_db.test_tbl$snapshots;
    +------------------------+----------------+---------------+-----------+-------------------+------------------------------+
    | committed_at | snapshot_id | parent_id | operation | manifest_list | summary |
    +------------------------+----------------+---------------+-----------+-------------------+------------------------------+
    | 2022-09-20 11:14:29 | 64123452344 | -1 | append | hdfs:/path/to/m1 | {"flink.job-id":"xxm1", ...} |
    | 2022-09-21 10:36:35 | 98865735822 | 64123452344 | overwrite | hdfs:/path/to/m2 | {"flink.job-id":"xxm2", ...} |
    | 2022-09-21 21:44:11 | 51232845315 | 98865735822 | overwrite | hdfs:/path/to/m3 | {"flink.job-id":"xxm3", ...} |
    +------------------------+----------------+---------------+-----------+-------------------+------------------------------+
  • Фильтрация по snapshot_id:

    select * from iceberg_ctl.test_db.test_tbl$snapshots where snapshot_id = 98865735822;
    +------------------------+----------------+---------------+-----------+-------------------+------------------------------+
    | committed_at | snapshot_id | parent_id | operation | manifest_list | summary |
    +------------------------+----------------+---------------+-----------+-------------------+------------------------------+
    | 2022-09-21 10:36:35 | 98865735822 | 64123452344 | overwrite | hdfs:/path/to/m2 | {"flink.job-id":"xxm2", ...} |
    +------------------------+----------------+---------------+-----------+-------------------+------------------------------+
  • Просмотр других метаданных таблицы Iceberg

    select * from iceberg_ctl.test_db.test_tbl$manifests;
    select * from iceberg_ctl.test_db.test_tbl$all_manifests;
    select * from iceberg_ctl.test_db.test_tbl$files;
    select * from iceberg_ctl.test_db.test_tbl$data_files;
    select * from iceberg_ctl.test_db.test_tbl$delete_files;
    select * from iceberg_ctl.test_db.test_tbl$partitions;
    select * from iceberg_ctl.test_db.test_tbl$refs;
    select * from iceberg_ctl.test_db.test_tbl$history;
    select * from iceberg_ctl.test_db.test_tbl$metadata_log_entries;

Подробные сведения о системных таблицах Iceberg см. в разделе Системные таблицы Iceberg Catalog.