Поделиться через


Запустите 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:

  • Нажмите кнопку Delta Live значок запуска Tables на странице информации о конвейере.
  • В конвейерах щелкните значок стрелки вправо вдействий .

Примечание.

Поведение по умолчанию для обновлений конвейера, запускаемых вручную, заключается в том, чтобы refresh все наборы данных, указанные в конвейере.

семантика refresh конвейера

В следующем table описано поведение материализованных views и потоковой передачи tables по умолчанию для refresh и полного refresh:

тип Update Семантика материализованного представления Семантика стриминга table
Refresh (по умолчанию) Обновляет результаты, отражающие текущие результаты для определяющего запроса. Обрабатывает новые записи с помощью логики, определенной в потоковой обработке tables и других потоках.
Полная refresh Обновляет результаты, отражающие текущие результаты для определяющего запроса. Очищает данные из потокового канала tables, удаляет сведения о состоянии (контрольные точки) из потоков и повторно обрабатывает все записи из источника данных.

По умолчанию все материализованные views и передаваемые tables в канале refresh с каждым 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.allowedfalse. См. свойства Delta Live Tablestable. Можно также использовать потока добавления для добавления данных к существующей потоковой без полного .

Запуск update конвейера для выбранного tables

При необходимости можно повторно обработать данные только для выбранных tables в конвейере. Например, во время разработки вы изменяете только один table и хотите сократить время тестирования, или конвейер update завершается ошибкой, и вы хотите refresh только сбой tables.

Примечание.

Выборочные refresh можно использовать только с триггерными конвейерами.

Чтобы запустить update, который обновляет только выбранные tables, на странице сведений о конвейере :

  1. Щелкните Selecttables для refresh. Появится диалоговое окно Selecttables для refresh.

    Если кнопка не отображается , убедитесь, что на странице сведений о конвейере отображается последняя , а завершена. Если DAG не отображается для последней update, например, из-за сбоя в update, кнопка Selecttables для refresh не отображается.

  2. Для того чтобы selecttablesrefresh, щелкните на каждую table. Выбранные tables выделены и помечены. Чтобы removetable из update, снова щелкните table.

  3. Щелкните Refresh для выбора.

    Примечание.

    Кнопка выбора Refresh отображает количество выбранных tables в скобках.

Чтобы повторно обработать данные, уже полученные для выбранного tables, нажмите Blue Down Caret рядом с кнопкой выбора Refresh и выберите Полный выбор Refresh.

Запустить update конвейер для обработки неудачных tables

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

Примечание.

Исключенные tables не обновляются, даже если они зависят от ошибочного table.

Чтобы не удалось , на странице сведений о конвейере щелкните не удалось .

Для update выбраны только из неудачных tables

  1. Нажмите кнопку Вниз рядом с неработающей кнопкой Refreshtables и нажмите Selecttables для refresh. Появится Selecttables диалогового окна refresh.

  2. Чтобы selecttablesrefresh, щелкните каждую table. Выбранные tables выделены и помечены. Чтобы removetable из update, снова щелкните table.

  3. Щелкните, чтобы выбрать Refresh.

    Примечание.

    Кнопка выбора Refresh отображает количество выбранных tables в скобках.

Чтобы повторно обработать уже загруженные данные для выбранного tables, нажмите Blue Down Caret рядом с кнопкой выбора Refresh и выберите полный выбор Refresh.

проверьте конвейер на наличие ошибок, не дожидаясь событий между tables и update

Внимание

Функция Delta Live TablesValidateupdate находится в общедоступной предварительной версии.

Чтобы проверить, является ли исходный код конвейера допустимым без выполнения полного update, используйте Проверить. Validate update разрешает определения наборов данных и потоков, определенных в конвейере, но не материализует или не публикует наборы данных. Ошибки, обнаруженные во время проверки, например неверные имена table или column, сообщаются в пользовательском интерфейсе.

Чтобы запустить Validateupdate, щелкните Blue Down Caret на странице сведений о конвейере рядом с Запустить и щелкните Проверить.

После завершения Validateupdate журнал событий отображает только события, связанные с Validateupdate, и метрики не отображаются в DAG. Если обнаружены ошибки, сведения доступны в журнале событий.

Результаты можно просмотреть только для последних Validateupdate. Если Validateupdate был самым последним запущенным update, вы можете просмотреть результаты, выбрав его в истории update. Если после Validateupdateвыполняется еще один update, результаты больше не доступны в пользовательском интерфейсе.

Разработка и применение в рабочей среде

Вы можете управлять выполнением optimize конвейера, переключаясь между режимами разработки и рабочей среды. Используйте кнопки значок переключения среды Delta Live Tables в интерфейсе конвейеров для переключения между этими двумя режимами. По умолчанию конвейеры работают в режиме разработки.

При запуске конвейера в режиме разработки система Delta Live Tables выполняет следующие действия:

  • Повторно использует кластер, чтобы избежать дополнительных расходов на перезапуски. По умолчанию кластеры выполняются в течение двух часов при включении режима разработки. Это можно изменить с помощью параметра pipelines.clusterShutdown.delay в Настройка вычислений для конвейера Delta Live Tables.
  • Отключает повторные попытки конвейера, чтобы можно было немедленно обнаруживать и исправлять ошибки.

В рабочем режиме система Delta Live Tables выполняет следующие действия:

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

Примечание.

Переключение между режимами разработки и рабочей среды контролирует только поведение выполнения кластера и конвейера. Расположения хранилища и целевые схемы в catalog для публикации tables должны быть настроены как часть параметров конвейера и не затрагиваются при переключении между режимами.