Запуск обновления в конвейере DLT
В этой статье описываются обновления конвейера и содержатся сведения о том, как активировать обновление.
Что такое обновление конвейера?
После того как вы создадите конвейер и будете готовы его запустить, вы начнете обновление. Обновление конвейера выполняет следующее:
- Запускает кластер с правильной конфигурацией.
- Обнаруживает все определенные таблицы и представления и проверяет наличие ошибок анализа, таких как недопустимые имена столбцов, отсутствующие зависимости и синтаксические ошибки.
- Создает или обновляет таблицы и представления с самыми последними доступными данными.
С помощью проверки обновления с использованием можно проверить проблемы в исходном коде конвейера, не ожидая создания или обновления таблиц. Эта функция полезна при разработке или тестировании конвейеров, так как она позволяет быстро находить и устранять ошибки в конвейере, например неправильные имена таблиц или столбцов.
Как инициируются обновления конвейера?
Чтобы запустить обновления конвейера, используйте один из следующих параметров:
Триггер обновления | Подробности |
---|---|
Вручную | Можно вручную активировать обновления конвейера из пользовательского интерфейса конвейера, списка конвейеров или записной книжки, подключенной к конвейеру. См. вручную инициировать обновление конвейера и разработку и отладку конвейеров DLT в ноутбуках. |
Запланировано | Вы можете запланировать обновления для потоков данных с помощью заданий. См. задачу конвейера DLT для заданий. |
Программный метод | Обновления можно активировать программным способом с помощью сторонних средств, API и clIs. См. раздел Запуск конвейера DLT в рабочем процессе и API конвейера. |
вручную запустить обновление конвейера
Используйте один из следующих параметров, чтобы вручную активировать обновление конвейера:
- Нажмите кнопку значка DLT Start
на странице сведений о конвейере.
- В списке конвейеров щелкните
в столбце действий.
Заметка
Поведение по умолчанию для обновлений конвейера вручную заключается в обновлении всех наборов данных, определенных в конвейере.
семантика обновления конвейера
В следующей таблице описывается поведение материализованных представлений и потоковых таблиц для обновления по умолчанию и полного обновления.
Тип обновления | Семантика материализованного представления | Семантика потоковой таблицы |
---|---|---|
Обновление (по умолчанию) | Обновляет результаты, отражающие текущие результаты для определяющего запроса. | Обрабатывает новые записи с помощью логики, определенной в потоковых таблицах и потоках. |
Полное обновление | Обновляет результаты, отражающие текущие результаты для определяющего запроса. | Очищает данные из таблиц потоковой передачи, очищает сведения о состоянии (контрольные точки) из потоков и повторно обрабатывает все записи из источника данных. |
По умолчанию все материализованные представления и потоковые таблицы в конвейере обновляются при каждом обновлении. Кроме того, вы можете исключить таблицы из обновлений с помощью следующих функций:
- Выбор таблиц для обновления. Используйте этот пользовательский интерфейс для добавления или удаления материализованных представлений и потоковых таблиц перед запуском обновления. См. раздел Запуск обновления конвейера для выбранных таблиц.
- обновление сбойных таблиц: запуск обновления для материализованных представлений с ошибками и таблиц потоковой передачи с ошибками, включая зависимости вниз по потоку. См. статью Запуск обновления конвейера для неудачных таблиц.
Обе эти функции поддерживают семантику обновления по умолчанию или полное обновление. При необходимости можно использовать диалоговое окно Выбор таблиц для обновления, чтобы исключить дополнительные таблицы при запуске обновления для неудачных таблиц.
Следует ли использовать полную перезагрузку?
Databricks рекомендует выполнять полные обновления только при необходимости. Полное обновление всегда повторно обрабатывает все записи из указанных источников данных с помощью логики, которая определяет набор данных. Время и ресурсы для завершения полного обновления коррелируются с размером исходных данных.
Материализованные представления возвращают те же результаты, применяется ли обновление по умолчанию или полное обновление. Использование полного обновления с потоковыми таблицами сбрасывает все данные о состоянии и информацию контрольных точек и может привести к потере записей, если входные данные больше не доступны.
Databricks рекомендует только полное обновление, если входные источники данных содержат данные, необходимые для воссоздания требуемого состояния таблицы или представления. Рассмотрим следующие сценарии, в которых входные исходные данные больше не доступны и результат выполнения полного обновления:
Источник данных | Причина отсутствия входных данных | Результат полного обновления |
---|---|---|
Кафка | Краткий порог хранения | Записи, которые больше не присутствуют в источнике Kafka, удаляются из целевой таблицы. |
Файлы в хранилище объектов | Политика жизненного цикла | Файлы данных больше не присутствуют в исходном каталоге, удаляются из целевой таблицы. |
Записи в таблице | Удалено для соответствия требованиям | Обрабатываются только записи, присутствующих в исходной таблице. |
Чтобы предотвратить выполнение полных обновлений в таблице или представлении, задайте для свойства таблицы pipelines.reset.allowed
значение false
. См. свойства таблицы DLT . Кроме того, можно использовать поток добавления для добавления данных в существующую потоковую таблицу без полного обновления.
Запуск обновления конвейера для выбранных таблиц
При необходимости можно повторно обрабатывать данные только для выбранных таблиц в конвейере. Например, во время разработки вы изменяете только одну таблицу и хотите сократить время тестирования, или обновление конвейера завершается ошибкой, и вы хотите обновить только таблицы, в которых произошла ошибка .
Заметка
Выборочное обновление можно использовать только с активированными конвейерами.
Чтобы запустить процесс обновления, который затрагивает только выбранные таблицы, на странице сведений о конвейере :
Щелкните , чтобы выбрать таблицы для обновления. Откроется диалоговое окно Выбор таблиц для обновления.
Если вы не видите кнопку "Выбрать таблицы для обновления", убедитесь, что на странице сведений о конвейере отображается последнее обновление и что обновление завершено. Если DAG не отображается для последнего обновления, например, из-за сбоя обновления, то кнопка Выбрать таблицы для обновления не отображается.
Чтобы выбрать таблицы для обновления, щелкните каждую таблицу. Выбранные таблицы выделены и помечены. Чтобы удалить таблицу из обновления, снова щелкните таблицу.
Щелкните Обновить выбор.
Заметка
Кнопка Обновить выбор отображает количество выбранных таблиц в скобках.
Чтобы повторно обработать данные, уже загруженные для выбранных таблиц, нажмите рядом с кнопкой Обновить выбор и выберите Полное обновление выбора.
Запуск обновления конвейера для неудачных таблиц
Если обновление конвейера завершается сбоем из-за ошибок в одной или нескольких таблицах в графе конвейера, можно запустить обновление только неудачных таблиц и всех подчиненных зависимостей.
Заметка
Исключенные таблицы не обновляются, даже если они зависят от неудачной таблицы.
Чтобы обновить таблицы сбоев, на странице сведений о конвейере щелкните Обновить таблицы сбоев.
Чтобы обновить только выбранные поврежденные таблицы, выполните указанные ниже действия.
Нажмите кнопку
рядом с кнопкой Обновить таблицы и нажмите кнопку Выбрать таблицы для обновления. Откроется диалоговое окно для выбора таблиц для обновления.
Чтобы выбрать таблицы для обновления, щелкните каждую таблицу. Выбранные таблицы выделены и помечены. Чтобы удалить таблицу из обновления, снова щелкните таблицу.
Щелкните Обновить выбор.
Заметка
Кнопка Обновить выбор отображает количество выбранных таблиц в скобках.
Чтобы повторно обработать данные, уже обработанные для выбранных таблиц, нажмите кнопку рядом с кнопкой Обновить выбор и нажмите кнопку полного обновления.
Проверить конвейер ошибок без ожидания обновления таблиц
Чтобы проверить, является ли исходный код конвейера допустимым без выполнения полного обновления, используйте Проверить. Обновление Validate
уточняет определения наборов данных и потоков, определенных в конвейере, но не материализует или не публикует наборы данных. Ошибки, обнаруженные во время проверки, например неправильные имена таблиц или столбцов, сообщаются в пользовательском интерфейсе.
Чтобы запустить обновление Validate
, выберите на странице сведений о конвейере рядом с кнопкой Запустить и выберите Проверить.
После завершения обновления Validate
журнал событий отображает события, связанные только с обновлением Validate
, и в DAG не отображаются метрики. Если обнаружены ошибки, сведения доступны в журнале событий.
Результаты можно просмотреть только для последнего обновления Validate
. Если обновление Validate
было последним обновлением, вы можете просмотреть результаты, выбрав его в журнале обновлений . Если после обновления Validate
выполняется другое обновление, результаты больше не доступны в пользовательском интерфейсе.
режимы разработки и рабочей среды
Вы можете оптимизировать выполнение конвейера, переключаясь между режимами разработки и рабочей среды. Используйте иконку переключения среды DLT с кнопками в интерфейсе конвейеров, чтобы переключаться между этими двумя режимами. По умолчанию конвейеры выполняются в режиме разработки.
При запуске конвейера в режиме разработки система DLT выполняет следующие действия:
- Повторно использует кластер, чтобы избежать затрат на перезагрузку. По умолчанию, когда режим разработки включён, кластеры выполняются в течение двух часов. Это можно изменить с помощью параметра
pipelines.clusterShutdown.delay
в Настройка вычислений для конвейера DLT. - Отключает повторные попытки выполнения конвейера, чтобы можно было немедленно обнаружить и устранить ошибки.
В рабочем режиме система DLT выполняет следующие действия:
- Перезапускает кластер для определенных ошибок, которые можно восстановить, включая утечки памяти и устаревшие учетные данные.
- Повторите выполнение в случае определенных ошибок, таких как сбой запуска кластера.
Заметка
Переключение между режимами разработки и рабочей среды управляет только поведением кластера и конвейера. Расположения хранилища и целевые схемы в каталоге для таблиц публикации должны быть настроены как часть параметров конвейера и не затрагиваются при переключении между режимами.