Обслуживание объектов Iceberg#
CedrusData Catalog предоставляет возможность обслуживания объектов Iceberg.
Общая информация#
В зависимости от типа операции, объектами обслуживания могут быть таблицы, представления и материализованные представления.
Выполнение операций происходит асинхронно. После запуска операции обслуживания вы получаете уникальный идентификатор, который может быть использован в команде CLI maintenance get для получения текущего статуса операции.
В случае успешного завершения операция возвращает результат работы в виде пар ключ-значение. CedrusData Catalog сохраняет информацию об операциях в базу данных, периодически удаляя устаревшие записи.
Ознакомьтесь с дополнительными параметрами конфигурации операций обслуживания: Конфигурация Iceberg.
Группы объектов обслуживания#
Операции обслуживания могут быть запущены для группы объектов. Например, для всех объектов конкретного каталога или namespace.
Для этого необходимо создать именованную группу объектов с помощью команды CLI object-group create, и наполнить ее целевыми объектами с помощью команды CLI object-group add-item.
Целевые объекты могут быть заданы следующим образом:
- Все объекты каталога: - --namespace-name=*, --object-name=*
- Все объекты namespace: - --namespace-name=<имя_namespace> --object-name=*
- Конкретный объект: - --namespace-name=<имя_namespace> --object-name=<имя_объекта>
После наполнения именованной группы вы можете запустить maintenance-операцию для всех объектов группы одной командой.
Движки для выполнения операций обслуживания#
CedrusData Catalog выполняет операции обслуживания с помощью вычислительного движка (compute engine).
В настоящее время доступен только внутренний движок с каталога фиксированным именем local,
который используется для выполнения всех поддерживаемых операций обслуживания.
В дальнейшем будет добавлена поддержка других вычислительных движков (CedrusData, Trino, Spark, и т.д.).
Задачи обслуживания#
CedrusData Catalog поддерживает выполнение операций обслуживания по расписанию. Задать расписание выполнения задачи можно с помощью cron-выражения.
Команды для управления задачами:
- maintenance create-job expire-snapshots, maintenance create-job remove-orphan-files — создать задачу 
- maintenance update-job — изменить задачу 
- maintenance delete-job — удалить задачу 
- maintenance get-job — получить информацию о задаче 
- maintenance list-jobs — получить список задач 
Поддерживаемые операции#
expire-snapshots#
Удаляет устаревшие snapshot. Используйте команду CLI maintenance expire-snapshots для запуска операции.
Поддерживаемые типы объектов: таблицы, материализованные представления.
Параметры:
- older-than— файлы старше скольки дней можно удалять; значение по умолчанию —- 5(пять дней)
- retain-last— сколько последних snapshot необходимо сохранить вне зависимости от значения параметра- older-than; значение по умолчанию:- 1
Результаты:
- system.processed-objects— количество обработанных объектов Iceberg
- expired-snapshots— количество удаленных snapshot
- deleted-files— количество удаленных файлов
remove-orphan-files#
Удаляет файлы данных и метаданных, на которые не ссылается ни один snapshot. Используйте команду CLI maintenance remove-orphan-files для запуска операции.
Поддерживаемые типы объектов: таблицы, материализованные представления.
Параметры:
- older-than— файлы старше скольки дней можно удалять; значение по умолчанию —- 3(три дня)
Результаты:
- system.processed-objects— количество обработанных объектов Iceberg
- deleted-files— количество удаленных файлов