Управление зависимостями Python для конвейеров разностных динамических таблиц
Разностные динамические таблицы поддерживают внешние зависимости в конвейерах. Databricks рекомендует использовать один из двух шаблонов для установки пакетов Python:
%pip install
Используйте команду для установки пакетов для всех исходных файлов в конвейере.- Импорт модулей или библиотек из исходного кода, хранящегося в файлах рабочей области. См. статью "Импорт модулей Python" из папок Git или файлов рабочей области.
Разностные динамические таблицы также поддерживают использование глобальных и кластерных скриптов инициализации. Но эти внешние зависимости, особенно скрипты инициализации, повышают риск возникновения проблем с обновлениями среды выполнения. Чтобы снизить эти риски, сведите к минимуму использование скриптов инициализации в конвейерах. Если для обработки требуются скрипты инициализации, автоматизируйте тестирование конвейера для раннего обнаружения проблем. Если вы используете скрипты инициализации, Databricks рекомендует увеличить частоту тестирования.
Внимание
Так как библиотеки JVM не поддерживаются в конвейерах Delta Live Tables, не используйте скрипт инициализации для установки библиотек JVM. Однако можно установить другие типы библиотек, такие как библиотеки Python, с помощью скрипта инициализации.
Библиотеки Python
Чтобы указать внешние библиотеки Python, используйте команду magic %pip install
. При запуске обновления в разностных динамических таблицах изменений выполняются все ячейки, содержащие команду %pip install
, перед выполнением любых определений таблиц. Каждая записная книжка Python, включенная в конвейер, предоставляет общий доступ к среде библиотеки и имеет доступ ко всем установленным библиотекам.
Внимание
%pip install
команды должны находиться в отдельной ячейке в верхней части записной книжки конвейера Delta Live Tables. Не включать другой код в ячейки, содержащие%pip install
команды.- Так как каждая записная книжка в конвейере использует среду библиотеки, нельзя определить разные версии библиотеки в одном конвейере. Если для обработки требуются разные версии библиотеки, их необходимо определить в разных конвейерах.
Следующий пример устанавливает библиотеку numpy
и делает ее глобально доступной для любой записной книжки Python в конвейере:
%pip install simplejson
Чтобы установить пакет колес Python, добавьте путь к колесу Python в %pip install
команду. Установленные пакеты wheel для Python доступны всем таблицам в конвейере. В следующем примере устанавливается файл колеса Python с именем dltfns-1.0-py3-none-any.whl
из каталога /dbfs/dlt/
DBFS:
%pip install /dbfs/dlt/dltfns-1.0-py3-none-any.whl
См. раздел "Установка пакета колеса Python" с помощью %pip.
Можно ли использовать библиотеки Scala или Java в конвейере Delta Live Tables?
Нет, Delta Live Tables поддерживает только SQL и Python. Библиотеки JVM нельзя использовать в конвейере. Установка библиотек JVM приведет к непредсказуемому поведению и может нарушить работу с будущими выпусками Delta Live Tables. Если конвейер использует скрипт инициализации, необходимо также убедиться, что библиотеки JVM не установлены скриптом.