Time travel#
CedrusData Catalog позволяет движкам удобно читать данные объектов Iceberg на конкретный момент времени.
Для этого движку необходимо передать каталогу заголовок X-CedrusData-As-Of-Timestamp
, содержащий абсолютную временную метку.
При получении данного заголовка CedrusData Catalog будет возвращать движку метаданные таблиц, представлений и материализованных представлений,
которые были актуальны на указанный момент времени. Если объект не существовал на указанный момент времени, будет возвращена ошибка с кодом 404
.
Значение заголовка должно представлять собой абсолютную временную метку в одном из следующих форматов:
Строку в формате Java ISO_OFFSET_DATE_TIME ИЛИ
Строку в формате Java ISO_ZONED_DATE_TIME ИЛИ
Количество миллисекунд с эпохи.
Способ передачи заголовка зависит от движка.
Apache Spark#
Если вы работаете с Apache Spark, заголовок можно передать через конфигурацию каталога.
Например, если в Apache Spark ваш каталог называется my_catalog
, то добавьте следующую конфигурацию:
spark.sql.catalog.my_catalog.header.X-CedrusData-As-Of-Timestamp=<ваш_timestamp>
CedrusData#
Если вы работаете с CedrusData, заголовок можно передать через параметр конфигурации или свойство сессии.