Активируемый против непрерывного режима конвейера

Режимы запуска и непрерывной работы конвейера определяют, как конвейер обрабатывает данные: в режиме запуска он обновляет доступные данные и останавливается, а в непрерывном режиме поддерживает таблицы в актуальном состоянии по мере поступления новых данных. Сведения о рабочих нагрузках, требующих задержки в миллисекундах, см. в разделе "Использование режима реального времени" в конвейерах Lakeflow.

Конвейерный режим независим от типа вычисляемой таблицы. Материализованные представления и потоковые таблицы можно обновлять в любом режиме конвейера.

Note

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

Что такое режим запущенного конвейера?

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

Что такое режим непрерывного конвейера?

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

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

Выбор режима конвейера данных

В следующей таблице перечислены различия между триггерами и режимами непрерывного конвейера:

Ключевые вопросы Активировано Непрерывный
Когда обновление останавливается? Автоматически после завершения. Выполняется непрерывно до тех пор, пока не будет остановлено вручную.
Какие данные обрабатываются? Данные, доступные при запуске обновления. Все данные по мере поступления в настроенные источники.
Каким требованиям к свежести данных это соответствует лучше всего? Обновления данных выполняются каждые 10 минут, почасовой или ежедневно. Обновления данных нужны каждые 10 секунд до нескольких минут.

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

Запускайте непрерывный конвейер с непрерывной задачей

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

Note

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

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

Поскольку задание переопределяет настройку режима конвейера, при включении конвейера в непрерывное задание установите для него режим Pipeline mode в значение «triggered» (по умолчанию). Это предотвращает неожиданное поведение, если конвейер работает вне задания.

Для настройки непрерывного задания для конвейера см. Запуск конвейера непрерывно с непрерывной задачей.

Запускайте конвейер с встроенным непрерывным режимом

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

Задать интервал триггера для непрерывных конвейеров

При настройке конвейеров для непрерывного режима можно задать интервалы триггеров, чтобы контролировать частоту запуска конвейера обновления для каждого потока. Интервал срабатывания триггера — это параметр конвейера, который применяется независимо от того, работает ли конвейер в непрерывном режиме через собственный параметр Pipeline mode или через непрерывную задачу.

Можно использовать pipelines.trigger.interval для управления интервалом срабатывания триггера при обновлении таблицы или всего конвейера. Поскольку триггерный конвейер обрабатывает каждую таблицу один раз, используется pipelines.trigger.interval только для непрерывных конвейеров. Databricks рекомендует устанавливать его на отдельные таблицы, так как у потоковых и пакетных запросов по умолчанию разные настройки. Установите значение в конвейере только когда обработка требует контроля обновлений для всей схемы конвейера.

Для стандартных значений по типу потока и примеров настроек pipelines.trigger.interval в SQL, Python и конфигурации конвейера см. раздел «Интервал триггера конвейеров».