Настройка конвейеров

На этой странице описывается базовая конфигурация конвейеров с помощью пользовательского интерфейса рабочей области.

Databricks рекомендует разрабатывать новые конвейеры с использованием бессерверной инфраструктуры. Инструкции по настройке бессерверных конвейеров см. в разделе "Настройка бессерверного конвейера".

Инструкции по настройке на этой странице используют каталог Unity. Инструкции по настройке конвейеров с устаревшим хранилищем метаданных Hive см. в разделе "Использование декларативных конвейеров Spark Lakeflow с устаревшим хранилищем метаданных Hive".

На этой странице рассматриваются функции текущего режима публикации по умолчанию для конвейеров. Конвейеры, созданные до 5 февраля 2025 г., могут использовать устаревший режим публикации и LIVE виртуальную схему. См. LIVE схему (устаревшую версию).

Замечание

Пользовательский интерфейс имеет возможность отображения и изменения параметров в ФОРМАТЕ JSON. Большинство параметров можно настроить с помощью пользовательского интерфейса или спецификации JSON. Некоторые дополнительные параметры доступны только с помощью конфигурации JSON.

Файлы конфигурации JSON также полезны при развертывании конвейеров в новых средах или с помощью ИНТЕРФЕЙСА командной строки или REST API.

Полный справочник по параметрам конфигурации JSON конвейера см. в разделе "Конфигурации конвейера".

Настройка нового конвейера

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

  1. В верхней части боковой панели щелкните значок Новый и выберите значок конвейера.Конвейер ETL.

  2. Вверху присвойте конвейеру уникальное имя.

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

    Каталог по умолчанию и схема по умолчанию — это место, в котором наборы данных считываются или записываются, когда наборы данных не соответствуют каталогу или схеме в коде. Дополнительные сведения см. в разделе "Объекты базы данных" в Azure Databricks .

  4. Выберите предпочитаемый вариант для создания конвейера:

    • Начните с примера кода в SQL , чтобы создать новую структуру конвейера и папок, включая пример кода в SQL.
    • Начните с примера кода в Python , чтобы создать новую структуру конвейера и папок, включая пример кода в Python.
    • Начните с одного преобразования , чтобы создать новую структуру конвейера и папок с новым пустым файлом кода.
    • Добавьте существующие ресурсы для создания конвейера, который можно связать с существующими файлами кода в рабочей области.
    • Создайте управляемый источником проект для создания конвейера с новым проектом декларативных пакетов автоматизации или добавление конвейера в существующий пакет.

    В конвейере ETL можно использовать файлы исходного кода SQL и Python. При создании конвейера и выборе языка для примера кода язык предназначен только для примера кода, включенного в конвейер по умолчанию.

  5. При выборе вы будете перенаправлены в только что созданный конвейер.

    Конвейер ETL создается со следующими параметрами по умолчанию:

    Эта конфигурация рекомендуется для многих вариантов использования, включая разработку и тестирование, и хорошо подходит для рабочих нагрузок, которые должны выполняться по расписанию. Дополнительные сведения о планировании конвейеров см. в разделе "Задача конвейера" для заданий.

    Эти параметры можно настроить на панели инструментов конвейера.

Кроме того, можно создать конвейер ETL из браузера рабочей области:

  1. Щелкните Workspace на панели слева.
  2. Выберите любую папку, включая папки Git.
  3. Щелкните "Создать " в правом верхнем углу и щелкните конвейер ETL.

Вы также можете создать конвейер ETL на странице заданий и конвейеров:

  1. В рабочей области щелкните на значок рабочих процессовЗадания и конвейеры на боковой панели.
  2. В меню Создать нажмите Конвейер ETL.

Параметры конфигурации вычислений

Databricks рекомендует всегда использовать расширенное автомасштабирование. Значения по умолчанию для других конфигураций вычислений хорошо работают для многих конвейеров.

Бессерверные конвейеры удаляют параметры конфигурации вычислений. Инструкции по настройке бессерверных конвейеров см. в разделе "Настройка бессерверного конвейера".

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

  • Используйте теги кластера для мониторинга затрат, связанных с конвейерами. См . раздел "Настройка тегов вычислений".
  • Настройте типы виртуальных экземпляров, чтобы указать тип виртуальных машин, используемых для запуска вашего обработочного конвейера. См. раздел Выбор типов экземпляров для запуска конвейера.
    • Выберите тип рабочей роли, оптимизированный для рабочих нагрузок, настроенных в конвейере.
    • При необходимости можно выбрать тип драйвера , который отличается от типа рабочей роли. Это может быть полезно для снижения затрат в конвейерах с большими рабочими типами и низким использованием вычислительных ресурсов драйвера или для выбора более крупного типа драйвера, чтобы избежать проблем с нехваткой памяти в рабочих нагрузках с большим количеством небольших рабочих нагрузок.

Установить пользователя для запуска от имени

Пользователь от имени запуска позволяет изменить идентификацию, с которой конвейер выполняется, и владение таблицами, которые он создает или обновляет. Это полезно в ситуациях, когда исходный пользователь, создавший конвейер, был деактивирован, например, если он покинул компанию. В таких случаях конвейер может перестать работать, а опубликованные таблицы могут стать недоступными для других пользователей. Обновив конвейер для выполнения под другим удостоверением, например, сервисным принципалом, и передав права владения опубликованными таблицами, можно восстановить доступ и убедиться, что конвейер продолжает функционировать. Запуск конвейеров в качестве субъектов-служб считается лучшей практикой, так как они не привязаны к отдельным пользователям, что делает их более безопасными, стабильными и надежными для автоматизированных рабочих нагрузок.

Необходимые разрешения

Для пользователя, который вносит изменения:

  • CAN_MANAGE разрешения для управления конвейером
  • CAN_USE роль для служебного принципала (если выполняется от имени служебного принципала)

Для пользователя или служебного принципала:

  • Доступ к рабочей области:

    • Разрешение на доступ к рабочей области
    • Может использовать разрешение на политики кластера, используемые конвейером
    • Разрешение на выполнение вычислительных задач в рабочей области
  • Доступ к исходному коду:

    • Разрешение на чтение всех блокнотов, входящих в исходный код конвейера
    • Разрешение на чтение файлов рабочей области, если конвейер использует их
  • Права доступа Unity Catalog (для конвейеров, использующих Unity Catalog):

    • USE CATALOG в целевом каталоге
    • USE SCHEMA и CREATE TABLE на целевой схеме
    • MODIFY разрешение на существующие таблицы, обновляемые конвейером
    • CREATE SCHEMA разрешение, если конвейер создает новые схемы
  • Устаревшие разрешения хранилища метаданных Hive (для конвейеров, использующих хранилище метаданных Hive):

    • SELECT и MODIFY права доступа к целевым базам данных и таблицам
  • Дополнительный доступ к облачному хранилищу (если применимо):

    • Разрешения на чтение из источников хранения данных
    • Разрешения на запись в целевые места хранения

Настройка запуска от имени пользователя

Вы можете установить пользователя run-as, используя параметры конвейера на странице мониторинга или в редакторе конвейера. Чтобы изменить пользователя на странице мониторинга конвейера, выполните следующие действия.

  1. Щелкните "Задания" и "Конвейеры" , чтобы открыть список конвейеров и выбрать имя конвейера, который требуется изменить.
  2. На странице мониторинга pipline нажмите кнопку "Параметры".
  3. В настройках Pipeline на боковой панели щелкните значок карандаша. Редактировать рядом с пунктом "Запустить как".
  4. В мини-приложении редактирования выберите один из следующих параметров:
    • Ваша учетная запись пользователя
    • Субъект-служба, для которого у вас есть разрешение CAN_USE
  5. Нажмите Сохранить , чтобы применить изменения.

После успешного обновления пользователя, от имени которого выполняется запуск, выполните следующие действия:

  • Изменение идентичности конвейера, чтобы использовать нового пользователя или служебный объект для всех последующих запусков
  • В конвейерах каталога Unity владелец таблиц, опубликованных конвейером, обновляется так, чтобы соответствовать новой идентичности запуска от имени.
  • Будущие обновления конвейера используют разрешения и учетные данные нового удостоверения запуска от имени
  • Непрерывные конвейеры автоматически перезапускаются с новой идентификацией. Триггерные конвейеры не перезапускаются автоматически, а изменение параметра выполнения от имени может нарушить ход активного обновления.

Замечание

При сбое обновления функции "запуск от имени" вы получите сообщение об ошибке, которое объясняет причину этого сбоя. Распространенные проблемы включают недостаточно разрешений для уполномоченного представителя службы.

Другие рекомендации по настройке

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

Выбор выпуска продукта

Выберите версию продукта Lakeflow Spark Декларативные конвейеры с лучшими функциями, соответствующими вашим требованиям к конвейеру. Доступны следующие выпуски продуктов:

  • Core для выполнения рабочих нагрузок потокового приема данных. Выберите версию Core, если конвейер не требует дополнительных функций, таких как отслеживание изменений данных (CDC) или Декларативные конвейеры Spark Lakeflow.
  • Pro для выполнения потоковой обработки и рабочих нагрузок CDC. Выпуск Pro продукта поддерживает все функции Core, а также поддержку рабочих нагрузок, требующих обновления таблиц на основе изменений в исходных данных.
  • Advanced для выполнения рабочих нагрузок приема потоковой передачи, рабочих нагрузок CDC и рабочих нагрузок, требующих ожиданий. Выпуск Advanced продукта поддерживает функции выпусков Core и Pro и включает в себя ограничения качества данных с предопределенными условиями Декларативных конвейеров Spark Lakeflow.

Вы можете выбрать выпуск продукта при создании или изменении конвейера. Для каждого конвейера можно выбрать другой выпуск. См. страницу продукта Lakeflow Spark для декларативных конвейеров.

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

Настройка исходного кода

Вы можете использовать браузер активов в редакторе Lakeflow Pipelines, чтобы настроить исходный код, определяющий конвейер. Исходный код конвейера определяется в скриптах SQL или Python, хранящихся в файлах рабочей области. При создании или изменении конвейера можно добавить один или несколько файлов. По умолчанию исходный код конвейера расположен в transformations папке корневой папки конвейера.

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

Дополнительные сведения об использовании редактора Конвейеров Lakeflow см. в статье "Разработка и отладка конвейеров ETL" с помощью редактора конвейеров Lakeflow.

Управление внешними зависимостями для конвейеров, использующих Python

Конвейеры поддерживают использование внешних зависимостей в конвейерах, таких как пакеты и библиотеки Python. Дополнительные сведения о параметрах и рекомендациях по использованию зависимостей см. в статье "Управление зависимостями Python для конвейеров".

Использование модулей Python, хранящихся в рабочей области Azure Databricks

Помимо реализации кода Python в файлах исходного кода конвейера, можно использовать папки Databricks Git или файлы рабочей области для хранения кода в виде модулей Python. Хранение кода в виде модулей Python особенно полезно, если у вас есть общие функциональные возможности, которые вы хотите использовать в нескольких конвейерах или записных книжках в одном конвейере. Сведения о том, как использовать модули Python с конвейерами, см. в разделе «Импорт модулей Python из папок Git или файлов рабочей области».