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


Настройка выполнения приложения Databricks с помощью app.yaml

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

Вы можете использовать .yaml расширение или .yml расширение файла. Этот файл должен находиться в корневом каталоге проекта.

Поддерживаемые параметры

Файл app.yaml поддерживает следующие параметры.

Setting Тип Description
command sequence Используйте этот параметр, если требуется пользовательская команда для запуска приложения. По умолчанию Azure Databricks запускает приложения Python с помощью команды python <my-app.py>, где <my-app.py> находится первый .py файл в структуре файлов приложения. Если ваше приложение включает Node.js, то команда по умолчанию — npm run start. См. логику развертывания.
Так как Azure Databricks не выполняет команду в оболочке, переменные среды, определенные вне конфигурации приложения, недоступны для приложения. Если приложению требуется выполнить дополнительные параметры, используйте структуру env .
Этот параметр является необязательным.
env list Azure Databricks автоматически задает несколько переменных среды по умолчанию в среде выполнения приложения. Этот ключ верхнего уровня определяет необязательный список дополнительных переменных среды для передачи в приложение. Каждая переменная может использовать жестко закодированное значение или ссылаться на внешний источник, например секрет или запись базы данных.
Допустимые элементы в списке:

Этот параметр является необязательным.

Пример app.yaml для приложения Streamlit

В следующем app.yaml файле показано, как настроить приложение Streamlit. Она использует настраиваемую команду для запуска приложения с streamlit run, и задает переменные среды для идентификатора хранилища SQL и флага отслеживания использования.

command: ['streamlit', 'run', 'app.py']
env:
  - name: 'DATABRICKS_WAREHOUSE_ID'
    value: 'quoz2bvjy8bl7skl'
  - name: 'STREAMLIT_GATHER_USAGE_STATS'
    value: 'false'

Используйте такую настройку, если приложение зависит от определенного вычислительного ресурса, например хранилища SQL, или требует определенных переменных среды для управления поведением среды выполнения.

Пример app.yaml приложения Flask

В этом примере показано, как настроить приложение Flask с помощью сервера Gunicorn. Параметр command задает параметры запуска Gunicorn, а env раздел задает путь к тому каталога Unity в качестве переменной среды.

command:
  - gunicorn
  - app:app
  - -w
  - 4
env:
  - name: 'VOLUME_URI'
    value: '/Volumes/catalog-name/schema-name/dir-name'

Используйте этот подход, если вашему приложению требуется готовый для эксплуатации WSGI-сервер, такой как Gunicorn, и оно зависит от данных, хранящихся в томе каталога Unity или в другом пути, зависящих от среды.

Дальнейшие шаги