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


Управление зависимостями Python для конвейеров разностных динамических таблиц

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

  1. %pip install Используйте команду для установки пакетов для всех исходных файлов в конвейере.
  2. Импорт модулей или библиотек из исходного кода, хранящегося в файлах рабочей области. См. статью "Импорт модулей 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 не установлены скриптом.