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


Управление зависимостями Python для конвейеров DLT

DLT поддерживает внешние зависимости в конвейерах. Databricks рекомендует использовать один из двух шаблонов для установки пакетов Python:

  1. Используйте команду %pip install для установки пакетов для всех исходных файлов в конвейере.
  2. Импорт модулей или библиотек из исходного кода, хранящегося в файлах рабочей области. См. импорт модулей Python из папок Git или файлов рабочей области.

DLT также поддерживает использование глобальных и кластерных скриптов инициализации. Однако эти внешние зависимости, особенно скрипты инициализации, повышают риск проблем с обновлениями среды выполнения. Чтобы устранить эти риски, свести к минимуму использование скриптов инициализации в конвейерах. Если для обработки требуются скрипты инициализации, автоматизируйте тестирование конвейера для раннего обнаружения проблем. Если вы используете скрипты инициализации, Databricks рекомендует увеличить частоту тестирования.

Важный

Поскольку библиотеки JVM не поддерживаются в конвейерах DLT, не используйте инициализирующий скрипт для установки библиотек JVM. Однако можно установить другие типы библиотек, такие как библиотеки Python, с помощью скрипта инициализации.

библиотеки Python

Чтобы указать внешние библиотеки Python, используйте магическую команду %pip install. При запуске обновления DLT запускает все ячейки, содержащие команду %pip install перед выполнением определений таблиц. Каждая записная книжка Python, включенная в конвейер, использует общую среду библиотек и имеет доступ ко всем установленным библиотекам.

Важный

  • %pip install команды должны находиться в отдельной ячейке в верхней части записной книжки конвейера DLT. Не включайте в ячейки другие коды, содержащие команды %pip install.
  • Так как каждая записная книжка в конвейере использует среду библиотеки, нельзя определить разные версии библиотеки в одном конвейере. Если для обработки требуются разные версии библиотеки, их необходимо определить в разных конвейерах.

Следующий пример устанавливает библиотеку numpy и делает ее глобально доступной для любой записной книжки Python в конвейере:

%pip install simplejson

Чтобы установить пакет wheel для Python, добавьте путь к wheel-файлу в команду %pip install. Установленные wheel-пакеты Python доступны для всех таблиц в конвейере. В следующем примере устанавливается файл колеса Python с именем dltfns-1.0-py3-none-any.whl из тома каталога Unity:

%pip install /Volumes/my_catalog/my_schema/my_dlt_volume/dltfns-1.0-py3-none-any.whl

См. раздел Установка wheel-пакета Python с %pip.

Можно ли использовать библиотеки Scala или Java в конвейере DLT?

Нет, DLT поддерживает только SQL и Python. В конвейере нельзя использовать библиотеки JVM. Установка библиотек JVM приведет к непредсказуемому поведению и может вызвать сбои в работе с будущими версиями DLT. Если конвейер использует скрипт инициализации, необходимо также убедиться, что библиотеки JVM не установлены скриптом.