Управление зависимостями Python для конвейеров DLT
DLT поддерживает внешние зависимости в конвейерах. Databricks рекомендует использовать один из двух шаблонов для установки пакетов Python:
- Используйте команду
%pip install
для установки пакетов для всех исходных файлов в конвейере. - Импорт модулей или библиотек из исходного кода, хранящегося в файлах рабочей области. См. импорт модулей 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 не установлены скриптом.