Подключение к Databricks с помощью туннеля SSH

Это важно

Эта функция доступна в бета-версии.

Стоимость и ценообразование функций в бета-версии могут меняться.

Туннель SSH (Secure Shell) Azure Databricks соединяет Visual Studio Code, Cursor или ваш терминал с рабочим пространством Azure Databricks и бессерверными вычислениями Azure Databricks, AI Runtime или классическими вычислениями. Используйте его для редактирования файлов рабочего пространства и запуска или отладки скриптов и блокнотов на Python, с вашим Python-окружением и выполнением кода на удалённом вычислительном ресурсе. Подключитесь напрямую к бессерверным вычислениям или настройте многоразовое SSH-соединение с выделенным классическим кластером.

Требования

Запустите SSH-соединение с вашего местного компьютера. Туннель нельзя запустить из другой удалённой среды или из контейнера Docker.

Чтобы подключиться к бессерверным или классическим вычислениям, необходимо иметь:

  • Databricks CLI версии 1.5.0 или выше, установленный на локальном компьютере, с настроенной аутентификацией. Проверьте установленную версию с помощью databricks --version. См. установите или обновите CLI Databricks.
  • Одна из следующих:
    • Visual Studio Code версии 1.110.0 (Universal) или выше и установлено расширение Remote - SSH (1.0.46+).
    • Cursor версии 2.6.11 (Universal) или выше.

Чтобы подключиться к бессерверным вычислениям GPU, необходимо включить функцию среды выполнения ИИ. См. раздел "Среда выполнения ИИ".

Дополнительные требования к классической вычислительной среде

Чтобы подключиться к классическим (выделенным, однопользовательским) вычислениям:

Выберите SSH-соединение

Используйте способ подключения для вашего типа вычислительного ресурса:

Compute Способ подключения Требования к установке
Бессерверные вычисления databricks ssh connect Отдельного этапа настройки SSH нет.
Добавьте --ide vscode или --ide cursor, чтобы запустить IDE.
Среда выполнения ИИ databricks ssh connect --accelerator <accelerator> Отдельного этапа настройки SSH нет.
Добавьте --ide vscode или --ide cursor, чтобы запустить IDE.
Для поддерживаемых ускорителей см. --accelerator.
Классические выделенные однопользовательские вычислительные ресурсы Запустите databricks ssh setup --name <connection-name> в терминале.
Затем запустите SSH-сессию из IDE или запустите ssh <connection-name>.
Выберите выделенный однопользовательский кластер, который соответствует классическим требованиям к вычислениям.
Общие кластеры не поддерживаются.

SSH-туннель и расширение Databricks IDE несовместимы и не должны использоваться вместе. Для сравнения с Databricks Connect и другими вариантами разработки смотрите раздел «Connect from your IDE».

Подключение к бессерверным вычислениям

Выполнив указанные выше требования, запустите databricks ssh connect в терминале или IDE.

Значение --ide определяет, какой редактор будет запущен, независимо от того, из какого редактора или терминала вы запускаете команду.

Visual Studio Code

databricks ssh connect --ide vscode

CLI открывает окно Visual Studio Code, подключённое к удалённой вычислительной среде.

Cursor

databricks ssh connect --ide cursor

CLI открывает окно Cursor, подключённое к удалённой вычислительной среде.

Terminal

databricks ssh connect

CLI запускает интерактивную сессию SSH.

Для опций команд, включая именованные соединения и профили аутентификации, см. databricks ssh connect.

После подключения откройте проект рабочего пространства и выберите среду Python. Если не удаётся установить соединение, смотрите раздел «Диагностика неполадок при подключении через SSH-туннель».

Подключитесь к бессерверным GPU-вычислениям с помощью AI Runtime

С включенным AI Runtime добавьте --accelerator для использования вычислений на GPU:

databricks ssh connect --accelerator GPU_1xA10

databricks ssh connect предоставляет интерактивный сеанс на одном узле. Для длительных задач обучения или многоузлового распределённого обучения вместо этого отправьте рабочую нагрузку с помощью databricks air. См. Использование CLI Databricks с AI Runtime.

Подключение к классическим вычислениям

Для многократного подключения к классическому выделенному кластеру настройте имя SSH-хоста, затем выберите этот хост в вашем IDE или подключитесь с терминала.

Настройка подключения SSH

Замечание

Настройка подключения SSH требуется только при подключении к классическим вычислениям.

Запустите databricks ssh setup на вашем локальном компьютере. Замените <connection-name> на имя для этого соединения, например my-connection:

databricks ssh setup --name <connection-name>

CLI запрашивает выбрать кластер и добавляет запись хоста в вашу конфигурацию SSH. Вы также можете выбрать кластер напрямую. Замените <cluster-id> на ID вашего выделенного кластера:

databricks ssh setup --name <connection-name> --cluster <cluster-id>

Чтобы настроить, сколько времени ожидает SSH-туннель после отключения последнего клиента, добавьте --shutdown-delay в команду setup. По умолчанию применяется значение 10 минут. Например, чтобы установить 30-минутную задержку для подключений через этот SSH-хост:

databricks ssh setup --name <connection-name> --cluster <cluster-id> --shutdown-delay 30m

Замечание

Для пользователей IntelliJ Databricks рекомендует добавлять --auto-start-cluster=false в команду установки и запускать кластер вручную перед подключением. Это связано с тем, что среды idEs JetBrains запускают все настроенные кластеры при запуске, что может привести к непредвиденным затратам на вычисления.

Подключение с помощью Visual Studio Code или Курсора

  1. Для Visual Studio Code установите расширение Remote SSH. Курсор включает удаленное расширение SSH по умолчанию.

  2. В главном меню интегрированной среды разработки щелкните "View">Палитра команд. Выберите Remote-SSH: Параметры. Кроме того, выберите Параметры: Откройте параметры пользователя (JSON), чтобы изменить их напрямую.

  3. В разделе Remote.SSH: расширения по умолчанию (или remote.SSH.defaultExtensions в settings.json), добавьте ms-Python.Python и ms-toolsai.jupyter.

    При изменении settings.json:

    "remote.SSH.defaultExtensions": [
        "ms-Python.Python",
        "ms-toolsai.jupyter"
    ]
    

    Замечание

    При необходимости увеличьте значение Remote.SSH: время ожидания подключения (или remote.SSH.connectTimeout в settings.json), чтобы уменьшить вероятность ошибок времени ожидания. Время ожидания по умолчанию — 360.

  4. В палитре команд выберите Remote-SSH: Подключиться к узлу.

  5. В раскрывающемся меню выберите подключение, настроенное на первом шаге. IDE подключается в новом окне.

Подключение с использованием IntelliJ IDEs

  1. Следуйте инструкциям по настройке удаленного сервера .
  2. На новом экране подключения введите следующее:
    • Имя пользователя: root
    • Хост: <connection-name>

Подключитесь к классическим вычислительным ресурсам с терминала

Используйте имя соединения, которое вы настроили с помощью databricks ssh setup:

ssh <connection-name>

Для прямого соединения без записи хоста SSH, используемой повторно, можно также использовать CLI. Замените <cluster-id> на идентификатор вашего выделенного кластера:

databricks ssh connect --cluster <cluster-id>

См. databricks ssh connect.

Открывайте проекты рабочего пространства через SSH

По умолчанию databricks ssh connect команда открывается в эфемерном каталоге. Чтобы получить доступ к файлам рабочей области, перейдите в каталог рабочей области из интегрированной среды разработки или терминала:

  • В Visual Studio Code или Cursor в палитре команд (Cmd/Ctrl+Shift+P) выберите Open Folder и перейдите в /Workspace/Users/<your-username>.
  • В окне терминала измените каталог: cd /Workspace/Users/<your-username>

Замечание

Файлы в /Workspace, /Volumesа также /dbfs сохраняются во всех перезапусках кластера. Файлы в /home, /rootа также другие локальные пути являются временными и потеряны при перезапуске.

Запускайте Python и notebooks в сессии SSH

Выберите среду Python, предоставленную вашей SSH-сессией, перед запуском кода. Для классических вычислений эта среда включает встроенные библиотеки Databricks Runtime и библиотеки, ограниченные вычислительным ресурсом.

  1. Откройте палитру команд (CMD/CTRL+SHIFT+P) и выберите Python: Выберите интерпретатор.

  2. Выберите виртуальную pythonEnv-xxx среду из списка. Если вы настроили Python зависимости с помощью флага--base-environment, выберите более длинное имя виртуальной среды из списка параметров. Если виртуальная среда не отображается:

    1. Запустите echo $DATABRICKS_VIRTUAL_ENV из терминала в интегрированной среде разработки.

      Пример выходных данных: /local_disk0/.ephemeral_nfs/envs/pythonEnv-xxx/bin/python

    2. Вставьте полный вывод в качестве пути к интерпретатору в запросе Python: Выбрать интерпретатор.

  3. Откройте новый терминал, и виртуальная среда должна автоматически активироваться.

  4. Чтобы запустить ноутбук Jupyter, убедитесь, что виртуальная среда установлена как ядро. Щелкните "Выбрать ядро" в правом верхнем углу записной книжки.

Запуск и отладка Python файлов и .ipynb записных книжек с помощью стандартных расширений Python и Jupyter.

Чтобы использовать Spark в файле Python на бессерверных вычислениях, инициализировать сеанс явным образом:

from databricks.connect import DatabricksSession
spark = DatabricksSession.builder.serverless().profile("DEFAULT").getOrCreate()

Управление зависимостями для SSH-сессий

Выберите управление зависимостями для вашего типа вычислений:

Для пакетов не на Python см. Зависимости для пакетов не на Python.

Базовые среды рабочей области (рекомендуется для бессерверной среды выполнения ИИ)

Замечание

Эта функция требует включения поддержки базовой среды бессерверных рабочих областей в предварительной версии заданий. См. статью "Управление предварительными версиями Azure Databricks".

Используйте базовую среду рабочей области с бессерверной средой версии 4 или ниже для предварительной настройки зависимостей Python. SSH-туннель не поддерживает --base-environment в serverless-среде версии 5 и выше. Создайте базовую среду с помощью пользовательского интерфейса рабочей области или команды Databricks CLI databricks create-workspace-base-environment .

Укажите среду с помощью --base-environment параметра при подключении:

databricks ssh connect --base-environment my-workspace-env

Параметр --base-environment принимает отображаемое имя, путь к YAML-файлу рабочей области или идентификатор ресурса. Вы не можете использовать его вместе с --cluster. См. databricks ssh connect.

Библиотеки кластеров (рекомендуется для классических вычислений)

Установите зависимости с помощью интерфейса рабочей области в разделе Compute > Libraries. Они сохраняются при всех перезапусках кластера и доступны в pythonEnv-xxx. См. библиотеки кластера.

Зависимости, отличные от Python

Чтобы сохранить зависимости, отличные от Python, используйте скрипт инициализации, который устанавливает пакеты при запуске вычислений. При необходимости сохраните пакеты в томе Unity Catalog и укажите их в скрипте инициализации. См. статью "Что такое скрипты инициализации?".

Настройка записной книжки для Project

Для зависимостей в области проекта запустите записную книжку, содержащую %pip install команды в начале каждого сеанса:

# Install from pyproject.toml
%pip install .

# Install from a requirements file
%pip install -r requirements.txt

# Install a wheel from Volumes or Workspace
%pip install /Volumes/catalog/schema/volume/your_library.whl

%pip команды включают в себя сторожевые ограничения, относящиеся к Databricks, и распространение зависимостей на узлы исполнителя Spark. Это позволяет определяемым пользователем функциям с пользовательскими зависимостями.

Дополнительные примеры см. в разделе "Управление библиотеками с помощью %pip команд".

Вам не нужно перезапускать ноутбук установки, если вы переподключитесь до закрытия SSH-туннеля. По умолчанию туннель закрывается через 10 минут после отключения последнего клиента. Чтобы изменить эту задержку, используйте --shutdown-delay вместе с командой, соответствующей вашему способу подключения:

  • Для многоразового подключения к классическим вычислительным ресурсам задайте задержку с помощью databricks ssh setup. Сгенерированная запись SSH-хоста приводит к применению задержки, когда вы подключаетесь из своей IDE или запускаете ssh <connection-name>.
  • Для прямого CLI-соединения задайте задержку с помощью команды databricks ssh connect.

Замечание

Несколько сеансов SSH в одном кластере используют одну виртуальную среду.

Используйте Git в SSH-сессии

Это важно

Эта функция доступна в общедоступной предварительной версии. Администраторы рабочей области могут управлять доступом к поддержке интерфейса командной строки Git для папок Git на странице "Предварительные версии ". См. статью "Управление предварительными версиями Azure Databricks".

Вы можете использовать Git CLI в SSH-туннеле с новыми папками Git и с учётными данными Git, которые вы настроили в рабочем пространстве Azure Databricks. См. статью "Использование команд командной строки Git".

Если CLI запрашивает учетные данные вместо их автоматического получения, вам нужно подключить провайдера Git к Azure Databricks. См. статью "Подключение поставщика Git к Databricks".

Поддерживайте работу отсоединённых процессов

По умолчанию, когда SSH-туннель отключается, он останавливает все процессы, запущенные сессией, включая процессы, которые вы отсоединили от сеанса с tmux, setsid или nohup. Перед тем как туннель их остановит, туннель фиксирует предупреждение с их идентификаторами процессов в результатах выполнения задания туннеля. databricks ssh connect печатает ID запуска задания, когда запускает туннель.

Чтобы отсоединённый процесс продолжался после отключения, используйте флаг --keep-detached-processes. Установите флаг на соединении, которое запускает туннель, прежде чем начинать работу, которую хотите оставить работающей. См. Соединения с существующим тоннелем.

  • Serverless или классические вычисления: передайте флаг команде databricks ssh connect.
  • Классические вычисления с настроенным SSH-хостом: передайте флаг в databricks ssh setup. Сгенерированная запись SSH-хоста применяется каждый раз при подключении. Бессерверные соединения не требуют настройки, поэтому эта опция применима только к классическим вычислительным ресурсам.

Следующий пример позволяет отсоединённым процессам работать в бессерверных вычислениях:

databricks ssh connect --keep-detached-processes

В следующем примере отделённые процессы продолжают работать в выделенном кластере:

databricks ssh connect --cluster 0123-456789-abcdefgh --keep-detached-processes

Когда вы используете этот флаг и последний клиент отключается, туннель ведёт себя следующим образом:

  • После этого --shutdown-delay периода туннель проверяет наличие отсоединённых процессов. Пока хотя бы один из них работает, туннель продолжает работать, а не выключается.
  • Отдельные процессы сохраняют доступ к /Workspace и /Volumes.
  • После выхода последнего отделённого процесса туннель закрывается, и выполнение этого задания завершается.

Пока туннель продолжает работать, вы можете снова подключиться к тем же вычислительным ресурсам и повторно подключиться к отсоединённой рабочей среде, например с помощью tmux attach. На бессерверных вычислениях подключитесь с тем же именем соединения. Если опустить --name, CLI выводит имя соединения из вашего рабочего пространства и флагов --accelerator и --base-environment, поэтому изменение любого из флагов запускает отдельное соединение.

Соединения с существующим тоннелем

Режим туннеля фиксируется при запуске, и последующие соединения обрабатывают его следующим образом:

  • Если подключиться с флагом к туннелю, который был запущен без него, CLI запускает новый туннель. Процессы, которые вы отсоединили в существующем туннеле, не сохраняются и останавливаются, когда этот туннель закрывается. В выделенном кластере новый туннель немедленно останавливает существующий, что прекращает его открытые сессии и отсоединенные процессы.
  • Если вы подключаетесь без флага к туннелю, который был запущен с этим флагом, CLI повторно использует этот туннель, и туннель продолжает работать, пока отдельные процессы остаются. Это также относится к соединениям от других записей SSH-хостов в списке или IDE-сеансов к одному и тому же вычислительному ресурсу.

Затраты и максимальный срок службы

Помните о перечисленных ниже моментах.

  • Пока туннель продолжает работать, вычислительный ресурс продолжает работать и влечёт расходы. Классический кластер не завершается автоматически. Простаивающая tmux сессия считается отсоединённым процессом, поэтому закройте её, когда она вам больше не нужна.
  • Запуск задания всё равно останавливается, когда достигает максимального срока жизни, установленного --server-timeout, даже если работают отсоединённые процессы. Этот срок жизни считается с момента запуска выполнения задания, а не с момента, когда последний клиент отключается. После завершения выполнения заданий отсоединенные процессы теряют доступ к /Workspace и /Volumes. При бессерверных вычислениях отсоединённые процессы останавливаются. В классической вычислительной среде они могут продолжать работу без этого доступа до завершения работы кластера. Чтобы сохранить результат длительной отсоединённой задачи, сохраняйте его с помощью Azure Databricks SDK или REST API вместо записи в пути /Workspace или /Volumes. См . статью "Работа с файлами в томах каталога Unity".
  • Для более длительной работы используйте задания или пакеты .

Ограничения тоннеля SSH

Туннель SSH, предоставляемый Databricks, имеет следующие ограничения:

  • Общие кластеры не поддерживаются.
  • Расширение Databricks IDE и SSH-туннель пока несовместимы и не должны использоваться вместе.
  • Файлы, редактируемые за пределами /Workspace, /Volumesи /dbfs теряются при перезапуске кластера.
  • Для каждого кластера разрешено не более 10 подключений SSH.
  • Неактивные сеансы могут удаляться через 1 час.
  • Туннель SSH нельзя запустить из других удаленных сред или контейнеров Docker.
  • При одновременном открытии трех или нескольких записных книжек Jupyter могут возникнуть проблемы с производительностью или подключением.

Поведение ноутбука в сессиях SSH

При использовании туннеля SSH существуют некоторые различия в записных книжках:

  • Файлы Python не определяют глобальные значения Databricks (например spark , или dbutils). Их необходимо импортировать явным образом с from databricks.sdk.runtime import spark.
  • Для записных книжек ipynb доступны следующие функции:
    • Глобальные переменные Databricks: display, displayHTML, dbutils, table, sql, udf, getArgument, sc, sqlContext, spark
    • %sql волшебная команда для выполнения ячеек SQL

Для работы с исходным кодом Python "записные книжки":

  • Выполните поиск для jupyter.interactiveWindow.cellMarker.codeRegex и задайте его значение:

    ^# COMMAND ----------|^# Databricks notebook source|^(#\\s*%%|#\\s*\\<codecell\\>|#\\s*In\\[\\d*?\\]|#\\s*In\\[ \\])
    
  • Выполните поиск для jupyter.interactiveWindow.cellMarker.default и задайте его значение:

    # COMMAND ----------
    

Диагностика неполадок SSH-туннельных соединений

Начните с симптома, который соответствует сбою:

Симптом Первая проверка
SSH-соединение выходит из строя или превышает время ожидания. Проверьте доступ к рабочему пространству по HTTPS и WebSocket. Для классических вычислений также проверьте состояние кластера и тайм-аут IDE. См. Не удается установить SSH-соединение или истекает время ожидания.
CLI сообщает, что не может найти code. Установите команду shell Visual Studio Code в локальной PATH. См. командаcode не найдена.
Аутентификация CLI не проходит. Проверьте профиль CLI и, для классических вычислений, разрешения для кластера. См. ошибки аутентификации CLI.
CLI выводит invalid_grant с Refresh token is invalid. Войдите снова в рабочее пространство с помощью того же CLI-профиля, затем попробуйте подключиться снова. См. Токен обновления недействителен.
Python-код или блокноты не работают после подключения. Проверьте выбранный интерпретатор или ядро ноутбука. См. Python-код или блокноты не запускаются в сессии SSH.
Файлы исчезают после перезагрузки кластера. Проверьте, были ли файлы сохранены на эфемерном локальном пути. См. Файлы исчезают или окружение сбрасывается после перезапуска кластера.

Не удается установить SSH-соединение или истекает время ожидания

  • Для классических вычислений убедитесь в интерфейсе рабочего пространства, что кластер работает.
  • Убедитесь, что ваша сеть, VPN и межсетевой экран разрешают HTTPS- и WebSocket-трафик к домену вашего рабочего пространства. Тоннель SSH не использует порт 22. Он туннелирует весь трафик через ту же HTTPS-конечную точку, что и другие команды CLI Databricks. См . раздел "Настройка правил брандмауэра доменных имен".
  • Если прокси-сервер или фаервол проверяет TLS-трафик, убедитесь, что он разрешает запрос на переключение на WebSocket. Посредник, который блокирует или снимает обновление, вызывает сбой соединения или тайм-аут. Попросите сетевого администратора разрешить обновления WebSocket домену рабочего пространства или обойти TLS-инспекцию для этого домена.
  • Если вы подключаетесь через корпоративный HTTP-прокси, задайте переменную среды HTTPS_PROXY или используйте NO_PROXY, чтобы обойти прокси для домена вашего рабочего пространства. SSH-туннель использует ту же конфигурацию прокси, что и другие команды CLI Databricks. См. конфигурацию прокси-сервера.
  • Проверьте, есть ли у вашего локального компьютера HTTPS-доступ к github.com и release-assets.githubusercontent.com.
  • Увеличьте время ожидания SSH. См. статью "Подключение с помощью Visual Studio Code" или "Курсор".
  • Для ошибок несоответствия ключей удалите ~/.databricks/ssh-tunnel-keys и повторно выполните команду databricks ssh setup.
  • Для ошибок "идентификация удаленного узла изменилась", проверьте файл ~/.ssh/known_hosts и удалите записи, связанные с вашим кластером.
  • Сеансы SSH могут прерываться через 1 час, и к одному кластеру можно установить не более 10 SSH-подключений. См. ограничения тоннеля SSH.

code Команда не найдена

Если вы видите Error: exec: "code": executable file not found in $PATH, откройте палитру команд (Cmd/CTRL+SHIFT+P), выберите команду оболочки: установить команду "code" в PATH и перезапустить IDE или сеанс терминала.

Ошибки аутентификации CLI

  • Войдите в рабочее пространство с помощью databricks auth login.
  • Для классических вычислений убедитесь, что у вас есть CAN MANAGE права доступа к кластеру.

Токен обновления недействителен

Если databricks ssh connect завершается с ошибками error getting token, invalid_grant и Refresh token is invalid, сервер авторизации отклонил сохранённый токен обновления OAuth для CLI. Войдите снова, чтобы получить новую сессию:

  1. Определите профиль конфигурации для рабочего пространства, к которому хотите подключиться:

    databricks auth profiles --skip-validate
    
  2. Войдите снова с тем профилем. Замените <workspace-url> на URL рабочего пространства, без пути /oidc/v1/token и <profile-name> на соответствующее имя профиля:

    databricks auth login --host <workspace-url> --profile <profile-name>
    

    Завершите процесс входа через браузер.

  3. Попробуйте повторить соединение с тем же профилем:

    databricks ssh connect --ide vscode --profile <profile-name>
    

    Используйте --ide cursor для курсора или опустите --ide для терминальной сессии.

Если ошибка сохраняется, проверьте, что команда, завершившаяся ошибкой, нацелена на то же рабочее пространство и профиль, в который вы только что вошли. См. OAuth-аутентификацию пользователь‑машина (U2M).

Python-код или блокноты не работают в SSH-сессии

Файлы исчезают или среда сбрасывается после перезапуска кластера

  • Файлы в /Workspace, /Volumes и /dbfs точках монтирования сохраняются после перезапуска кластера. Файлы в /home, /rootа также другие локальные пути являются временными и потеряны при перезапуске.
  • Используйте управление библиотекой кластера для постоянных зависимостей. При необходимости автоматизируйте переустановки с помощью скриптов инициализации. См. статью "Что такое скрипты инициализации?".

Ошибка при настройке SSH в Windows (WSL)

Запустите databricks ssh setup непосредственно в Windows, а не в WSL. Экземпляр Windows Visual Studio Code не может найти конфигурации SSH, созданные на стороне WSL.

Часто задаваемые вопросы

Требуется ли для бессерверных вычислений настройка SSH?

No. После установки и аутентификации CLI Databricks используйте databricks ssh connect для бессерверных вычислений. Команда databricks ssh setup настраивает повторно используемые записи SSH-хостов для классических выделенных вычислений.

Требуется ли для SSH-туннеля Databricks порт 22?

No. SSH-туннель передаёт трафик через HTTPS в домен вашего рабочего пространства и требует поддержки WebSocket. Ваша сеть, VPN, файрвол и прокси должны разрешать этот трафик. См. Не удается установить SSH-соединение или истекает время ожидания.

Как туннель SSH отличается от Databricks Connect?

Databricks Connect позволяет создавать код с помощью API Spark и выполнять их удаленно на вычислительных ресурсах Databricks, а не в локальном сеансе Spark. Расширение Databricks Visual Studio Code использует Databricks Connect для обеспечения встроенной отладки пользовательского кода в Databricks.

SSH-туннель позволяет получить доступ к рабочему пространству из вашего IDE и перемещает всю вашу среду разработки на вычислительные ресурсы. Python, ядро сеанса и выполнение кода работают в Azure Databricks с доступом к вычислительным ресурсам.

Как защищены код и данные?

SSH-трафик шифруется по принципу end-to-end, а код работает на вычислительных ресурсах Azure Databricks, к которым вы подключаетесь. Аутентификация использует CLI Databricks и ваш настроенный профиль рабочего пространства. См. Какие методы аутентификации поддерживаются.

Какие интегрированные среды разработки поддерживаются?

Visual Studio Code и Cursor официально поддерживаются. Любая интегрированная среда разработки с возможностями SSH совместима, но тестируются только VS Code и Cursor.

Доступны ли все функции записной книжки Databricks из интегрированной среды разработки?

Некоторые функции, такие как display(), dbutilsи %sql доступны с ограничениями или ручной настройкой. См. Поведение ноутбука в сессиях SSH.

Запускается ли кластер автоматически при подключении с помощью туннеля SSH?

Да, но если для запуска кластера требуется больше времени ожидания подключения, попытка подключения завершится ошибкой. Чтобы предотвратить это, увеличьте значение Remote.SSH: подключите время ожидания из палитры команд (или remote.SSH.connectTimeout в settings.json), чтобы уменьшить вероятность ошибок времени ожидания.

Как узнать, запущен ли кластер?

Перейдите к вычислению в пользовательском интерфейсе рабочей области Databricks и проверьте состояние кластера. Кластер должен показывать состояние работа, чтобы подключение SSH работало.

Как отключить сеанс SSH/IDE?

Сеанс можно отключить, закрыв окно интегрированной среды разработки, используя параметр "Отключить " в интегрированной среде разработки, закрыв терминал SSH или выполнив exit команду в терминале.

Как остановить кластер и избежать расходов, когда я не работаю?

Чтобы немедленно остановить кластер, завершите работу кластера из пользовательского интерфейса рабочей области. Перейдите к разделу "Вычисления " в пользовательском интерфейсе рабочей области Databricks, найдите кластер и нажмите кнопку "Завершить " или "Остановить".

Задайте короткую политику автоматического завершения в кластере из пользовательского интерфейса рабочей области. После отключения SSH-туннель ожидает в течение периода shutdown-delay (по умолчанию: 10 минут), затем начинает действовать тайм-аут простоя кластера. Если вы используете --keep-detached-processes, кластер не завершается автоматически, пока работают отдельные процессы. Это также относится к соединениям без флага, которые повторно используют туннель, запущенный с ним. См. Соединения с существующим тоннелем.

Как обрабатывать постоянные зависимости?

Зависимости, установленные во время сеанса, теряются после перезапуска кластера. Используйте постоянное хранилище (/Workspace/Users/<your-username>) для требований и сценариев установки. Используйте библиотеки кластера или скрипты инициализации для автоматизации.

Какие методы проверки подлинности поддерживаются?

Проверка подлинности использует CLI Databricks и ваш файл конфигурации профилей ~/.databrickscfg. Ключи SSH обрабатываются туннельом SSH.

Можно ли подключиться к внешним базам данных или службам из кластера?

Да, если сеть кластера разрешает исходящие подключения и у вас есть необходимые библиотеки.

Можно ли использовать дополнительные расширения интегрированной среды разработки?

Большинство расширений работают при установке в удаленном сеансе SSH в зависимости от интегрированной среды разработки и кластера. Visual Studio Code по умолчанию не устанавливает локальные расширения на удаленных узлах. Их можно установить вручную, открыв панель расширений и включив локальные расширения на удаленном узле. Вы также можете настроить Visual Studio Code для удаленной установки определенных расширений. См. статью "Подключение к Databricks".

Да, однако администраторы рабочей области должны добавить URL-адреса маркетплейсов расширений Visual Studio Code и Cursor в список разрешённых. Локальный компьютер также должен иметь возможность доступа к Интернету.