Запустите update в конвейере Delta Live Tables
В этой статье описываются обновления конвейера и приведены сведения о том, как активировать update.
Что такое конвейер update?
После создания конвейера и готовности к его запуску вы запустите update. Конвейер update выполняет следующие действия.
- Запускает кластер с правильной конфигурацией.
- Обнаруживает все определенные tables и views и проверяет наличие ошибок анализа, таких как недопустимые имена column, отсутствующие зависимости и синтаксические ошибки.
- Создает или обновляет tables и views с последними доступными данными.
С помощью проверки updateможно проверить наличие проблем в исходном коде конвейера, не ожидая создания или обновления tables. Эта функция полезна при разработке или тестировании конвейеров, так как она позволяет быстро находить и устранять ошибки в конвейере, например неправильные table или column имена.
Как инициируются обновления конвейера?
Чтобы запустить обновления конвейера, используйте один из следующих параметров:
триггер Update | Подробности |
---|---|
Вручную | Можно вручную активировать обновления конвейера из пользовательского интерфейса конвейера, конвейеров listили записной книжки, подключенной к конвейеру. См. , чтобы вручную запустить конвейер update, и , разработать и отладить конвейеры Delta Live Tables в записных книжках. |
Запланированный | Вы можете запланировать обновления для конвейеров с помощью заданий. См. задачу конвейера Tables Delta Live для заданий. |
Программный | Обновления можно активировать программным способом с помощью сторонних средств, API и clIs. См. запуск конвейера Delta Live Tables в рабочем процессе и API конвейера. |
вручную активировать конвейер update
Используйте один из следующих параметров, чтобы вручную активировать конвейер update:
- Нажмите кнопку на странице информации о конвейере.
- В конвейерах
щелкните значок стрелки вправо вдействий .
Примечание.
Поведение по умолчанию для обновлений конвейера, запускаемых вручную, заключается в том, чтобы refresh все наборы данных, указанные в конвейере.
семантика refresh конвейера
В следующем table описано поведение материализованных views и потоковой передачи tables по умолчанию для refresh и полного refresh:
тип Update | Семантика материализованного представления | Семантика стриминга table |
---|---|---|
Refresh (по умолчанию) | Обновляет результаты, отражающие текущие результаты для определяющего запроса. | Обрабатывает новые записи с помощью логики, определенной в потоковой обработке tables и других потоках. |
Полная refresh | Обновляет результаты, отражающие текущие результаты для определяющего запроса. | Очищает данные из потокового канала tables, удаляет сведения о состоянии (контрольные точки) из потоков и повторно обрабатывает все записи из источника данных. |
По умолчанию все материализованные views и передаваемые tables в канале refresh с каждым update. При необходимости можно опустить tables из обновлений с помощью следующих функций:
- Select tables для refresh. Используйте этот интерфейс для добавления remove материализованных views и потоковых данных tables перед запуском update. См. запуск update конвейера для выбранного tables.
- Refresh произошел сбой tables: запуск update для сбоя материализованных views и потоковой tables, включая зависимые элементы. См. начало конвейера update при неудачах tables.
Обе эти функции поддерживают семантику по умолчанию refresh или полную refresh. При необходимости можно использовать Selecttables для диалогового окна refresh, чтобы исключить дополнительные tables при запуске refresh для неудачных tables.
Следует ли использовать полный refresh?
Databricks рекомендует выполнять полные обновления только при необходимости. Полная refresh всегда повторно обрабатывает все записи из указанных источников данных с помощью логики, определяющей набор данных. Время и ресурсы, необходимые для завершения полного refresh, зависят от размера исходных данных.
Материализованные views возвращают те же результаты независимо от того, используется ли refresh по умолчанию или в полном объёме. Использование полной refresh с потоковой передачей tables сбрасывает все сведения об обработке состояния и контрольной точке и может привести к сбросу записей, если входные данные больше не доступны.
Databricks рекомендует использовать только полный refresh, если входные источники данных содержат данные, необходимые для воссоздания желаемого состояния table или представления. Рассмотрим следующие сценарии: исходные данные where больше недоступны, и результат выполнения полного refresh.
Источник данных | Причина отсутствия входных данных | Результат полного refresh |
---|---|---|
Кафка | Короткий порог хранения | Записи, которые больше не присутствуют в источнике Kafka, исключаются из целевого table. |
Файлы в хранилище объектов | Политика жизненного цикла | Файлы данных, которые больше не присутствуют в исходном каталоге, удаляются из целевого table. |
Записи в table | Удалено для соответствия требованиям | Обрабатываются только записи, присутствующие в исходном table. |
Чтобы предотвратить выполнение полного обновления в table или представлении, set свойству tablepipelines.reset.allowed
false
. См. свойства Delta Live Tablestable. Можно также использовать потока добавления
Запуск update конвейера для выбранного tables
При необходимости можно повторно обработать данные только для выбранных tables в конвейере. Например, во время разработки вы изменяете только один table и хотите сократить время тестирования, или конвейер update завершается ошибкой, и вы хотите refresh только сбой tables.
Примечание.
Выборочные refresh можно использовать только с триггерными конвейерами.
Чтобы запустить update, который обновляет только выбранные tables, на странице сведений о конвейере :
Щелкните Selecttables для refresh. Появится диалоговое окно Selecttables для refresh.
Если кнопка
не отображается , убедитесь, что на странице сведений о конвейере отображается последняя , а завершена. Если DAG не отображается для последней update, например, из-за сбоя в update, кнопка Selecttables для refresh не отображается. Для того чтобы selecttablesrefresh, щелкните на каждую table. Выбранные tables выделены и помечены. Чтобы removetable из update, снова щелкните table.
Щелкните Refresh для выбора.
Примечание.
Кнопка выбора Refresh отображает количество выбранных tables в скобках.
Чтобы повторно обработать данные, уже полученные для выбранного tables, нажмите рядом с кнопкой выбора Refresh и выберите Полный выбор Refresh.
Запустить update конвейер для обработки неудачных tables
Если конвейер update завершается сбоем из-за ошибок в одной или нескольких tables в графе конвейера, можно запустить update только неудачных tables и всех подчиненных зависимостей.
Примечание.
Исключенные tables не обновляются, даже если они зависят от ошибочного table.
Чтобы
Для update выбраны только из неудачных tables
Нажмите кнопку рядом с неработающей кнопкой Refreshtables и нажмите Selecttables для refresh. Появится Selecttables диалогового окна refresh.
Чтобы selecttablesrefresh, щелкните каждую table. Выбранные tables выделены и помечены. Чтобы removetable из update, снова щелкните table.
Щелкните, чтобы выбрать Refresh.
Примечание.
Кнопка выбора Refresh отображает количество выбранных tables в скобках.
Чтобы повторно обработать уже загруженные данные для выбранного tables, нажмите рядом с кнопкой выбора Refresh и выберите полный выбор Refresh.
проверьте конвейер на наличие ошибок, не дожидаясь событий между tables и update
Внимание
Функция Delta Live TablesValidate
update находится в общедоступной предварительной версии.
Чтобы проверить, является ли исходный код конвейера допустимым без выполнения полного update, используйте Проверить.
Validate
update разрешает определения наборов данных и потоков, определенных в конвейере, но не материализует или не публикует наборы данных. Ошибки, обнаруженные во время проверки, например неверные имена table или column, сообщаются в пользовательском интерфейсе.
Чтобы запустить Validate
update, щелкните на странице сведений о конвейере рядом с Запустить и щелкните Проверить.
После завершения Validate
update журнал событий отображает только события, связанные с Validate
update, и метрики не отображаются в DAG. Если обнаружены ошибки, сведения доступны в журнале событий.
Результаты можно просмотреть только для последних Validate
update. Если Validate
update был самым последним запущенным update, вы можете просмотреть результаты, выбрав его в истории update. Если после Validate
updateвыполняется еще один update, результаты больше не доступны в пользовательском интерфейсе.
Разработка и применение в рабочей среде
Вы можете управлять выполнением optimize конвейера, переключаясь между режимами разработки и рабочей среды. Используйте кнопки в интерфейсе конвейеров для переключения между этими двумя режимами. По умолчанию конвейеры работают в режиме разработки.
При запуске конвейера в режиме разработки система Delta Live Tables выполняет следующие действия:
- Повторно использует кластер, чтобы избежать дополнительных расходов на перезапуски. По умолчанию кластеры выполняются в течение двух часов при включении режима разработки. Это можно изменить с помощью параметра
pipelines.clusterShutdown.delay
в Настройка вычислений для конвейера Delta Live Tables. - Отключает повторные попытки конвейера, чтобы можно было немедленно обнаруживать и исправлять ошибки.
В рабочем режиме система Delta Live Tables выполняет следующие действия:
- Перезапускает кластер для определенных ошибок, которые можно восстановить, включая утечки памяти и устаревшие credentials.
- Повторите выполнение в случае определенных ошибок, таких как сбой запуска кластера.
Примечание.
Переключение между режимами разработки и рабочей среды контролирует только поведение выполнения кластера и конвейера. Расположения хранилища и целевые схемы в catalog для публикации tables должны быть настроены как часть параметров конвейера и не затрагиваются при переключении между режимами.