Оглавление

Databricks представила общедоступную функцию триггеров обновления таблиц в Lakeflow Jobs, что обещает революцию в оркестровке данных. Вместо традиционного подхода с cron-заданиями, которые работают по расписанию независимо от фактического поступления данных, новая система запускает задачи автоматически сразу после обновления указанных таблиц.

Мгновенный запуск при изменении данных

Триггеры обновления таблиц позволяют запускать задания на основе фактических изменений в данных. Конфигурация проста: в меню «Расписания и триггеры» Lakeflow Jobs достаточно добавить одну или несколько таблиц из Unity Catalog с типом триггера «Обновление таблицы».

При выборе нескольких таблиц можно определить, должен ли джоб запускаться после обновления одной таблицы или только когда все выбранные таблицы будут обновлены.

Интерфейс настройки расписаний и триггеров в Lakeflow Jobs
Источник: www.databricks.com

Для обработки сценариев с частыми обновлениями или пакетными загрузками данных доступны те же расширенные настройки времени, что и для триггеров прибытия файлов: минимальное время между триггерами и ожидание после последнего изменения.

  • Минимальное время между триггерами полезно, когда таблица обновляется часто и нужно избежать слишком частого запуска заданий. Например, если конвейер загрузки данных обновляет таблицу несколько раз в час, установка буфера в 60 минут предотвращает запуск задания чаще одного раза в этом окне.
  • Ожидание после последнего изменения помогает убедиться, что все данные поступили перед запуском задания. Например, если вышестоящая система записывает несколько пакетов в таблицу в течение нескольких минут, установка короткого «ожидания после последнего изменения» (например, 5 минут) гарантирует, что задание запустится только после завершения записи.
Конфигурация настроек времени ожидания после последнего изменения
Источник: www.databricks.com

Эти настройки дают контроль и гибкость, делая задания как своевременными, так и ресурсоэффективными.

Снижение затрат и задержек

Замена cron-расписаний на триггеры реального времени снижает потери вычислительных ресурсов и избегает задержек из-за устаревших данных. Если данные поступают раньше, задание запускается немедленно. Если происходит задержка, вы избегаете траты ресурсов на обработку устаревших данных.

Это особенно важно в масштабе, когда команды работают в разных часовых поясах или управляют высоконагруженными конвейерами данных. Вместо избыточного выделения вычислительных ресурсов или риска устаревания данных вы остаетесь синхронизированными и реагируете на изменения данных в реальном времени.

Наконец-то здравый смысл восторжествовал над традицией. Сколько вычислительных ресурсов тратилось впустую из-за того, что задания запускались по расписанию, а не по готовности данных? Это как приходить в ресторан в точно назначенное время, даже если повар еще не начал готовить. Технически это очевидное решение, но инерция привычных подходов мешала его массовому внедрению.

Децентрализованные event-driven конвейеры

В крупных организациях не всегда известно, откуда поступают вышестоящие данные или как они производятся. С триггерами обновления таблиц можно создавать реактивные конвейеры, работающие независимо без тесной связи с вышестоящими расписаниями.

Например, вместо планирования ежедневного обновления дашборда на 8 утра можно обновлять его сразу после поступления новых данных, гарантируя, что пользователи всегда видят самые свежие инсайты. Это особенно мощно в средах Data Mesh, где автономия и самообслуживание являются ключевыми.

Триггеры обновления таблиц используют встроенную наблюдаемость в Lakeflow Jobs. Метаданные таблицы (например, временная метка коммита или версия) предоставляются нижестоящим задачам через параметры, гарантируя, что каждая задача использует один и тот же согласованный снимок данных.

Поскольку триггеры обновления таблиц зависят от изменений вышестоящих таблиц, понимание зависимостей данных имеет решающее значение. Автоматическая линия Unity Catalog обеспечивает видимость, показывая, какие задания читают из каких таблиц. Это необходимо для надежной работы триггеров обновления таблиц в масштабе, помогая командам понимать зависимости и избегать непреднамеренного влияния на нижестоящие процессы.

Триггеры обновления таблиц — это последнее дополнение в растущем наборе возможностей оркестровки в Lakeflow Jobs. В сочетании с управлением потоком, триггерами прибытия файлов и унифицированной наблюдаемостью они предлагают гибкую, масштабируемую и современную основу для более эффективных конвейеров.

По материалам Databricks.