Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описываются обновления конвейера и содержатся сведения о том, как активировать обновление.
Что такое обновление конвейера?
После создания конвейера и подготовки к его запуску вы начинаете обновление . Обновление конвейера выполняет следующие действия:
- Запускает кластер с правильной конфигурацией.
- Обнаруживает все определенные таблицы и представления и проверяет наличие ошибок анализа, таких как недопустимые имена столбцов, отсутствующие зависимости и синтаксические ошибки.
- Создает или обновляет таблицы и представления с самыми последними доступными данными.
С помощью проверки обновления можно проверить наличие проблем в исходном коде конвейера, не ожидая создания или обновления таблиц. Эта функция полезна при разработке или тестировании конвейеров, так как она позволяет быстро находить и устранять ошибки в конвейере, например неправильные имена таблиц или столбцов.
Как инициируются обновления конвейера?
Чтобы запустить обновления конвейера, используйте один из следующих параметров:
Update trigger | Details |
---|---|
Manual | Можно вручную активировать обновления конвейера из пользовательского интерфейса конвейера, списка конвейеров или записной книжки, подключенной к конвейеру. См. "Вручную активировать обновление конвейера" и "Разработка и отладка конвейеров ETL с использованием записной книжки в декларативных конвейерах Lakeflow". |
Scheduled | Вы можете запланировать обновления для потоков данных с помощью заданий. См. задачу конвейера для заданий. |
Programmatic | Обновления можно активировать программным способом с помощью сторонних средств, API и clIs. См. раздел "Запуск декларативных конвейеров Lakeflow" в рабочем процессе и API конвейера. |
вручную запустить обновление конвейера
Используйте один из следующих параметров, чтобы вручную активировать обновление конвейера:
- Нажмите кнопку значка DLT Start
на странице сведений о конвейере.
- В списке конвейеров щелкните
в столбце "Действия".
Note
Поведение по умолчанию для обновлений конвейера вручную заключается в обновлении всех наборов данных, определенных в конвейере.
семантика обновления конвейера
В следующей таблице описываются стандартное обновление, полное обновление и поведение контрольных точек сброса для материализованных представлений и потоковых таблиц.
Update type | Materialized view | Streaming table |
---|---|---|
Refresh (default) | Обновляет результаты, отражающие текущие результаты для определяющего запроса. | Обрабатывает новые записи с помощью логики, определенной в поточных таблицах и потоках обработки данных. |
Full refresh | Обновляет результаты, отражающие текущие результаты для определяющего запроса. | Очищает данные из таблиц потоковой передачи, очищает сведения о состоянии (контрольные точки) из потоков и повторно обрабатывает все записи из источника данных. |
Сброс контрольных точек потока передачи данных | Неприменимо к материализованным представлениям. | Очищает информацию о состоянии (контрольные точки) из потоков, но не очищает данные из потоковых таблиц и повторно обрабатывает все записи из источника данных. |
По умолчанию все материализованные представления и потоковые таблицы в конвейере обновляются при каждом обновлении. Кроме того, вы можете исключить таблицы из обновлений с помощью следующих функций:
- Выбор таблиц для обновления. Используйте этот пользовательский интерфейс для добавления или удаления материализованных представлений и потоковых таблиц перед запуском обновления. См. Начало обновления конвейера для выбранных таблиц.
- Обновить неудачные таблицы: начать обновление неудачных материализованных представлений и таблиц потоковой передачи, включая нисходящие зависимости. См. Начало обновления конвейера для таблиц с ошибками.
Обе эти функции поддерживают семантику обновления по умолчанию или полное обновление. При необходимости можно использовать диалоговое окно Выбор таблиц для обновления, чтобы исключить дополнительные таблицы при запуске обновления для неудачных таблиц.
Для потоковых таблиц вы можете выбрать очистку контрольных точек потоков для выбранных потоков и не очищать данные из соответствующих потоковых таблиц. Чтобы очистить контрольные точки для выбранных потоков, используйте REST API Databricks для запуска обновления. См. Начать обновление конвейера для очистки контрольных точек избирательных потоков трансляции.
Следует ли использовать полную перезагрузку?
Databricks рекомендует выполнять полные обновления только при необходимости. Полное обновление всегда повторно обрабатывает все записи из указанных источников данных с помощью логики, которая определяет набор данных. Время и ресурсы для завершения полного обновления коррелируются с размером исходных данных.
Материализованные представления возвращают те же результаты, применяется ли обновление по умолчанию или полное обновление. Использование полного обновления с потоковыми таблицами сбрасывает все данные о состоянии и информацию контрольных точек и может привести к потере записей, если входные данные больше не доступны.
Databricks рекомендует только полное обновление, если входные источники данных содержат данные, необходимые для воссоздания требуемого состояния таблицы или представления. Рассмотрим следующие сценарии, в которых входные исходные данные больше не доступны и результат выполнения полного обновления:
Data source | Причина отсутствия входных данных | Результат полного обновления |
---|---|---|
Kafka | Краткий порог хранения | Записи, которые больше не присутствуют в источнике Kafka, удаляются из целевой таблицы. |
Файлы в хранилище объектов | Lifecycle policy | Файлы данных больше не присутствуют в исходном каталоге, удаляются из целевой таблицы. |
Записи в таблице | Удалено для соответствия требованиям | Обрабатываются только записи, присутствующих в исходной таблице. |
Чтобы предотвратить выполнение полных обновлений в таблице или представлении, задайте для свойства таблицы pipelines.reset.allowed
значение false
. См. свойства таблицы декларативных конвейеров Lakeflow. Кроме того, можно использовать поток добавления для добавления данных в существующую потоковую таблицу без полного обновления.
Запуск обновления конвейера для выбранных таблиц
При необходимости можно повторно обрабатывать данные только для выбранных таблиц в конвейере. Например, во время разработки вы изменяете только одну таблицу и хотите сократить время тестирования, или обновление конвейера завершается ошибкой, и вы хотите обновить только таблицы, в которых произошла ошибка .
Note
Выборочное обновление работает только с активированными конвейерами. Чтобы использовать его в непрерывном конвейере, переключитесь в режим активации, запустите выборочное обновление, а затем переключитесь на непрерывный.
Чтобы начать обновление, которое обновляет только выбранные таблицы, перейдите на страницу сведений о конвейере .
Щелкните , чтобы выбрать таблицы для обновления. Появляется диалоговое окно Выберите таблицы для обновления.
Если вы не видите кнопку "Выбрать таблицы для обновления", убедитесь, что на странице сведений о конвейере отображается последнее обновление и что обновление завершено. Если DAG не отображается для последнего обновления, например, из-за сбоя обновления, то кнопка Выбрать таблицы для обновления не отображается.
Чтобы выбрать таблицы для обновления, щелкните каждую таблицу. Выбранные таблицы выделены и помечены. Чтобы удалить таблицу из обновления, снова щелкните таблицу.
Нажмите Обновить выбор.
Note
Кнопка Обновить выбор отображает количество выбранных таблиц в скобках.
Чтобы повторно обработать данные, уже загруженные для выбранных таблиц, нажмите рядом с кнопкой Обновить выбор и выберите Полное обновление выбора.
Запустите обновление конвейера для неудачных таблиц.
Если обновление конвейера завершается сбоем из-за ошибок в одной или нескольких таблицах в графе конвейера, можно запустить обновление только неудачных таблиц и всех подчиненных зависимостей.
Note
Исключенные таблицы не обновляются, даже если они зависят от неудачной таблицы.
Чтобы обновить таблицы сбоев, на странице сведений о конвейере щелкните Обновить таблицы сбоев.
Чтобы обновить только выбранные поврежденные таблицы, выполните указанные ниже действия.
Нажмите
рядом с кнопкой Обновить неудачные таблицы и нажмите Выбрать таблицы для обновления. Появляется диалоговое окно Выберите таблицы для обновления.
Чтобы выбрать таблицы для обновления, щелкните каждую таблицу. Выбранные таблицы выделены и помечены. Чтобы удалить таблицу из обновления, снова щелкните таблицу.
Нажмите Обновить выбор.
Note
Кнопка Обновить выбор отображает количество выбранных таблиц в скобках.
Чтобы повторно обработать данные, уже загруженные для выбранных таблиц, нажмите рядом с кнопкой Обновить выбор и выберите Полное обновление выбора.
Запустите обновление конвейера, чтобы сбросить контрольные точки выбранных потоков.
Вы можете повторно обработать данные для выбранных потоков данных в вашей конвейере без удаления уже полученных данных.
Note
Потоки, которые не выбраны, запускаются с помощью обновления REFRESH. Вы также можете указать full_refresh_selection
или refresh_selection
, чтобы выборочно обновить другие таблицы.
Чтобы запустить обновление для обновления выбранных контрольных точек потоковой передачи, используйте запрос на обновления в REST API Декларативного конвейера Lakeflow. Следующий пример использует команду curl
, чтобы вызвать запрос updates
для запуска обновления конвейера.
curl -X POST \
-H "Authorization: Bearer <your-token>" \
-H "Content-Type: application/json" \
-d '{
"reset_checkpoint_selection": [<streaming flow1>, <streaming flow 2>...]
}' \
https://<your-databricks-instance>/api/2.0/pipelines/<your-pipeline-id>/updates
Проверить конвейер ошибок без ожидания обновления таблиц
Important
Функция обновления декларативных конвейеров Validate
Lakeflow доступна в общедоступной предварительной версии.
Чтобы проверить, является ли исходный код конвейера действительным без выполнения полного обновления, используйте Проверить. Обновление Validate
уточняет определения наборов данных и потоков, определенных в конвейере, но не материализует или не публикует наборы данных. Ошибки, обнаруженные во время проверки, например неправильные имена таблиц или столбцов, сообщаются в пользовательском интерфейсе.
Чтобы запустить обновление Validate
, выберите на странице сведений о конвейере рядом с кнопкой Запустить и выберите Проверить.
После завершения обновления Validate
журнал событий отображает события, связанные только с обновлением Validate
, и в DAG не отображаются метрики. Если обнаружены ошибки, сведения доступны в журнале событий.
Вы можете видеть результаты только для самого последнего обновления Validate
. Если обновление Validate
было последним обновлением, вы можете просмотреть результаты, выбрав его в журнале обновлений . Если после обновления Validate
выполняется другое обновление, результаты больше не доступны в пользовательском интерфейсе.
режимы разработки и рабочей среды
Вы можете оптимизировать выполнение конвейера, переключаясь между режимами разработки и рабочей среды. Используйте иконку переключения среды DLT с кнопками в интерфейсе конвейеров, чтобы переключаться между этими двумя режимами. По умолчанию конвейеры запускаются в режиме разработки.
При запуске конвейера в режиме разработки система Декларативных конвейеров Lakeflow выполняет следующее:
- Повторно использует кластер, чтобы избежать затрат на перезапуски. По умолчанию, когда режим разработки включён, кластеры выполняются в течение двух часов. Это можно изменить с помощью параметра
pipelines.clusterShutdown.delay
в разделе «Настройка вычислений для декларативных конвейеров Lakeflow». - Отключает повторные попытки выполнения конвейера, чтобы можно было немедленно обнаружить и устранить ошибки.
В рабочем режиме система Декларативных конвейеров Lakeflow выполняет следующие действия:
- Перезапускает кластер для определенных ошибок, которые можно восстановить, включая утечки памяти и устаревшие учетные данные.
- Повторно выполняет команду в случае возникновения специфических ошибок, таких как сбой при запуске кластера.
Note
Переключение между режимами разработки и рабочей среды управляет только поведением кластера и конвейера. Расположения хранилища и целевые схемы в каталоге для таблиц публикации должны быть настроены как часть параметров конвейера и не затрагиваются при переключении между режимами.