Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье объясняется, как использовать боковую панель среды бессерверной записной книжки для настройки зависимостей, бюджетных политик бессерверной системы, памяти и версии среды. Эта панель предоставляет одно место для управления бессерверными параметрами записной книжки. Параметры, настроенные на этой панели, применяются только при подключении записной книжки к бессерверным вычислениям.
Чтобы развернуть боковую панель среды нажмите кнопку справа от записной книжки.
Для получения информации о настройке параметров среды для задач заданий, не связанных с записными книжками, см. Настройка среды для задач заданий, не относящихся к записным книжкам.
Использование бессерверных вычислений с высокой памятью
Внимание
Эта функция доступна в общедоступной предварительной версии.
Если в записной книжке возникают ошибки недостатка памяти, можно настроить записную книжку для использования большего объема памяти. Этот параметр увеличивает размер памяти REPL, используемой при выполнении кода в записной книжке. Это не влияет на размер памяти сеанса Spark. Бессерверное использование с высокой памятью имеет более высокую скорость выбросов DBU, чем стандартная память.
- В пользовательском интерфейсе записной книжки щелкните боковую панель среды под названием «Environment».
- В разделе Памятьвыберите высокую память.
- Щелкните Применить.
Этот параметр также применяется к задачам записной книжки, которые выполняются с учетом настроек памяти записной книжки. Обновление предпочтения памяти в записной книжке оказывает влияние на следующее выполнение задания.
Выбор бессерверной политики бюджета
Внимание
Эта функция доступна в общедоступной предварительной версии.
Бессерверные бюджетные политики позволяют организации применять пользовательские теги к бессерверному использованию для более детализированного выставления счетов.
Если в рабочей области используются бессерверные политики бюджета для атрибута бессерверного использования, можно выбрать бессерверную политику бюджета, которую вы хотите применить к записной книжке. Если пользователю назначена только одна бессерверная бюджетная политика, эта политика выбирается по умолчанию.
После подключения записной книжки к бессерверным вычислительным ресурсам можно выбрать политику бессерверного бюджета с помощью боковой панели среды :
- В пользовательском интерфейсе записной книжки щелкните боковую панель среды под названием «Environment».
- В разделе "Бюджетная политика " выберите бессерверную политику бюджета, которую вы хотите применить к записной книжке.
- Щелкните Применить.
После завершения настройки все случаи использования блокнотов наследуют пользовательские теги политики бюджета серверлесс.
Примечание.
Если ваша записная книжка исходит из репозитория Git или не имеет назначенной бессерверной бюджетной политики, то при следующем подключении к бессерверным вычислениям по умолчанию используется последняя выбранная вами политика бессерверного бюджета.
Выбор версии среды
Версии среды позволяют бессерверным рабочим нагрузкам получать независимые обновления ядра, не влияя на совместимость приложений. Дополнительные сведения о каждой версии среды см. в разделе "Бессерверные версии среды". Databricks рекомендует выбирать последнюю версию, чтобы получить самые современные функции записной книжки.
Чтобы выбрать версию среды, выполните приведенные действия.
- В пользовательском интерфейсе записной книжки щелкните боковую панель среды под названием «Environment».
- В разделе "Версия среды" выберите версию.
- Щелкните Применить.
Добавление зависимостей в записную книжку
Поскольку бессерверная среда не поддерживает политики вычислений или скрипты инициализации, необходимо добавить пользовательские зависимости с помощью боковой панели Environment. Можно добавить зависимости по отдельности или использовать общую базовую среду для установки нескольких зависимостей.
Чтобы добавить зависимость по отдельности, выполните следующие действия.
В пользовательском интерфейсе записной книжки щелкните боковую панель среды под названием «Environment».
В разделе "Зависимости" нажмите кнопку "Добавить зависимость " и введите путь к зависимости в поле. Можно указать зависимость в любом формате, допустимом в файле requirements.txt . Файлы wheel-файлы Python или проекты Python (например, каталог, содержащий
pyproject.toml
илиsetup.py
), могут находиться в файлах рабочей области или томах каталога Unity.- Если используется файл рабочей области, путь должен быть абсолютным и начинаться с
/Workspace/
. - При использовании файла в томе каталога Unity путь должен быть в следующем формате:
/Volumes/<catalog>/<schema>/<volume>/<path>.whl
- Если используется файл рабочей области, путь должен быть абсолютным и начинаться с
Щелкните Применить. При этом устанавливаются зависимости в виртуальной среде записной книжки и перезапускается процесс Python.
Задача, использующая бессерверные вычисления, устанавливает спецификацию среды ноутбука перед запуском его кода. Это означает, что при планировании блокнотов как заданий не требуется добавлять зависимости.
Внимание
Не устанавливайте PySpark или любую библиотеку, которая устанавливает PySpark в качестве зависимости для ваших бессерверных записных книжек. Это прекратит сеанс и вызовет ошибку. При этом удалите библиотеку и сбросьте вашусреду.
Чтобы просмотреть установленные зависимости, перейдите на вкладку "Установленные " на боковой панели "Среды ". Журналы установки pip для среды записной книжки также можно просмотреть, нажав на журналы pip в нижней части панели.
Создание общих служебных программ для совместного использования в рабочей области
В следующем примере показано, как сохранить общую программу в файле рабочей области и добавить ее в качестве зависимости в бессерверной записной книжке:
Создайте папку со следующей структурой. Убедитесь, что потребители проекта имеют соответствующий доступ к пути к файлу:
helper_utils/ ├── helpers/ │ └── __init__.py # your common functions live here ├── pyproject.toml
Заполните
pyproject.toml
следующим образом:[project] name = "common_utils" version = "0.1.0"
Добавьте функцию в
init.py
файл. Рассмотрим пример.def greet(name: str) -> str: return f"Hello, {name}!"
В пользовательском интерфейсе записной книжки щелкните значок "Среда" на боковой панели "Environment".
В разделе "Зависимости" нажмите кнопку "Добавить зависимость ", а затем введите путь к файлу util. Например:
/Workspace/helper_utils
.Щелкните Применить.
Теперь вы можете использовать функцию в записной книжке:
from helpers import greet
print(greet('world'))
Это выводится как:
Hello, world!
Настройка базовой среды
Базовая среда — это файл YAML, хранящийся в виде файла рабочей области или том каталога Unity, который указывает дополнительные зависимости среды. Базовые среды можно совместно использовать между ноутбуками. Чтобы настроить базовую среду, выполните приведенные действия.
Создайте YAML-файл, определяющий параметры виртуальной среды Python. Следующий пример YAML, основанный на спецификации среды проектов MLflow, определяет базовую среду с несколькими зависимостями библиотеки:
environment_version: '3' dependencies: - --index-url https://pypi.org/simple - -r "/Workspace/Shared/requirements.txt" - my-library==6.1 - /Workspace/Shared/Path/To/simplejson-3.19.3-py3-none-any.whl - git+https://github.com/databricks/databricks-cli
Загрузите YAML-файл как файл рабочей области или в объем Unity Catalog. См. раздел Импорт файла или загрузка файлов в том Unity Catalog.
Справа от записной книжки нажмите кнопку
, чтобы развернуть боковую панель среды . Эта кнопка отображается только при подключении записной книжки к бессерверным вычислениям.
В поле базовой среды
введите путь отправленного YAML-файла или перейдите к нему и выберите его. Щелкните Применить. При этом устанавливаются зависимости в виртуальной среде записной книжки и перезапускается процесс Python.
Пользователи могут переопределить зависимости, указанные в базовой среде, путем установки зависимостей по отдельности.
Сброс зависимостей среды
Если записная книжка подключена к бессерверным вычислениям, Databricks автоматически кэширует содержимое виртуальной среды записной книжки. Это означает, что при открытии существующей записной книжки обычно не требуется переустановить зависимости Python, указанные на боковой панели среды , даже если она была отключена из-за неактивности.
Кэширование виртуальной среды Python также применяется к заданиям. Когда задание выполняется, любая задача в задании, которая использует тот же набор зависимостей, что и завершенная задача в этом запуске, становится быстрее, так как необходимые зависимости уже доступны.
Примечание.
Если изменить реализацию пользовательского пакета Python, используемого в задании без сервера, необходимо также обновить номер версии, чтобы задания могли получить последнюю реализацию.
Чтобы очистить кэш среды и выполнить новую установку зависимостей, указанных на боковой панели среды записной книжки, подключенной к бессерверным вычислениям, щелкните стрелку рядом с "Применить " и нажмите кнопку "Сброс среды".
Если вы установили пакеты, которые нарушают или изменяют основную среду записной книжки или Apache Spark, удалите проблемные пакеты, а затем сбросьте среду. Отсоединение и повторное присоединение записной книжки не очищает весь кэш среды.
Настройка репозиториев пакетов Python по умолчанию
Администраторы рабочей области могут настраивать частные или аутентифицированные репозитории пакетов внутри рабочих областей в качестве конфигурации pip по умолчанию как для бессерверных записных книжек, так и для бессерверных заданий. Это позволяет пользователям устанавливать пакеты из внутренних репозиториев Python без явного определения index-url
или extra-index-url
.
Администраторы рабочих областей могут обратиться к инструкции Настройка репозиториев пакетов Python по умолчанию.
Настройка среды для задач, не связанных с записной книжкой
Для таких типов задач, как скрипт Python, wheel Python или задачи dbt, зависимости библиотеки наследуются от версии бессерверной среды. Чтобы просмотреть список установленных библиотек, см. раздел "Установленные библиотеки Python " используемой версии среды . Если для задачи требуется не установленная библиотека Python, можно установить библиотеку из файлов рабочей области , томов каталога Unity или репозиториев общедоступных пакетов.
Чтобы добавить библиотеку при создании или изменении задачи задания:
В раскрывающемся меню "Среда и библиотеки" щелкните
рядом с средой по умолчанию или нажмите кнопку "Добавить новую среду".
Выберите версию среды в раскрывающемся списке версия среды. Версии бессерверных сред см. в . Databricks рекомендует выбрать последнюю версию, чтобы получить самые актуальные функции.
В диалоговом окне "Настройка среды" нажмите кнопку +Добавить библиотеку.
Выберите тип зависимости в раскрывающемся меню в разделе Библиотеки.
В текстовом поле "Путь к файлу" введите путь к библиотеке.
Для колеса Python в файле рабочей области путь должен быть абсолютным и начинаться с
/Workspace/
.Для Python Wheel в томе Unity Catalog путь должен быть
/Volumes/<catalog>/<schema>/<volume>/<path>.whl
.Для файла
requirements.txt
выберите PyPi и введите-r /path/to/requirements.txt
.
- Нажмите кнопку "Подтвердить" или "Добавить библиотеку", чтобы добавить другую библиотеку.
- Если вы добавляете задачу, нажмите кнопку "Создать задачу". Если вы редактировать задачу, нажмите кнопку "Сохранить".
Настройка с помощью CLI для работы с секретами или REST API
Чтобы настроить репозитории пакетов Python по умолчанию с помощью ИНТЕРФЕЙСА командной строки или REST API, создайте предопределенную область секрета и настройте разрешения доступа, а затем добавьте секреты репозитория пакетов.
Предопределенное имя области действия секрета
Администраторы рабочей области могут задать URL-адреса индекса pip по умолчанию или дополнительные URL-адреса индекса, а также маркеры проверки подлинности и секреты в заданной области секретов в соответствии с предопределенными ключами:
- Имя области секрета:
databricks-package-management
- Секретный ключ для URL индекса:
pip-index-url
- Секретный ключ для дополнительных URL-адресов индексов:
pip-extra-index-urls
- Секретный ключ для содержимого сертификации SSL:
pip-cert
Создайте область секрета
Секретную область можно создать с помощью команд Databricks CLI секретов или REST API. После создания области секрета настройте списки управления доступом, чтобы предоставить всем пользователям рабочей области доступ на чтение. Это гарантирует, что репозиторий остается безопасным и не может быть изменен отдельными пользователями. Область секрета должна использовать предопределенное имя области секрета databricks-package-management
.
databricks secrets create-scope databricks-package-management
databricks secrets put-acl databricks-package-management admins MANAGE
databricks secrets put-acl databricks-package-management users READ
Добавление секретов репозитория пакетов Python
Добавьте сведения о репозитории пакетов Python с помощью предопределенных имен ключей секрета, при этом все три поля являются необязательными.
# Add index URL.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-index-url", "string_value":"<index-url-value>"}'
# Add extra index URLs. If you have multiple extra index URLs, separate them using white space.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-extra-index-urls", "string_value":"<extra-index-url-1 extra-index-url-2>"}'
# Add cert content. If you want to pip configure a custom SSL certificate, put the cert file content here.
databricks secrets put-secret --json '{"scope": "databricks-package-management", "key": "pip-cert", "string_value":"<cert-content>"}'
Изменение или удаление закрытых секретов репозитория PyPI
Чтобы изменить секреты репозитория PyPI, используйте команду put-secret
. Чтобы удалить секреты репозитория PyPI, используйте delete-secret
, как показано ниже:
# delete secret
databricks secrets delete-secret databricks-package-management pip-index-url
databricks secrets delete-secret databricks-package-management pip-extra-index-urls
databricks secrets delete-secret databricks-package-management pip-cert
# delete scope
databricks secrets delete-scope databricks-package-management