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


Отладка кода с помощью Databricks Подключение для расширения Databricks для Visual Studio Code

В этой статье описывается отладка кода с помощью интеграции Databricks Подключение в расширении Databricks для Visual Studio Code. См. раздел "Что такое расширение Databricks для Visual Studio Code?".

Эта информация предполагает, что вы уже установили и настроили расширение Databricks для Visual Studio Code. См . раздел "Установка расширения Databricks" для Visual Studio Code.

Примечание.

Эта функция является экспериментальной.

Интеграция Databricks Подключение в расширении Databricks для Visual Studio Code поддерживает только часть стандарта унифицированной проверки подлинности клиента Databricks. Дополнительные сведения см. в разделе "Настройка проверки подлинности" для расширения Databricks для VS Code.

Расширение Databricks для Visual Studio Code включает Databricks Подключение. Вы можете использовать databricks Подключение из расширения Databricks для Visual Studio Code для выполнения и выполнения пошаговой отладки отдельных файлов Python (.py) и записных книжек Python Jupyter (.ipynb). Расширение Databricks для Visual Studio Code включает Databricks Подключение для Databricks Runtime 13.0 и более поздних версий. Более ранние версии Databricks Подключение не поддерживаются.

Требования

Прежде чем использовать Databricks Подключение из расширения Databricks для Visual Studio Code, необходимо сначала выполнить требования к Databricks Подключение. К этим требованиям относятся такие компоненты, как рабочая область, включенная в каталоге Unity, кластер под управлением Databricks Runtime 13.0 или более поздней, а также режим доступа к кластеру с одним пользователем или общим пользователем, а также локальная версия Python, установленная с основными и дополнительными версиями, соответствующими версиям Python, установленным в кластере.

Шаг 1. Создание виртуального окружения Python

Создайте и активируйте виртуальную среду Python для проекта кода Python. Виртуальные среды Python помогают убедиться, что проект кода использует совместимые версии пакетов Python и Python (в данном случае — пакет Databricks Подключение). Инструкции и примеры в этой статье используют venv или поэзию для виртуальных сред Python. Databricks не полностью тестировал пакет Databricks Подключение с другими типами виртуальных сред Python, например Conda.

Создание виртуальной среды Python с помощью venv

  1. В терминале Visual Studio Code (просмотр > терминала) в корневой каталог проекта кода Python необходимо venv использовать Python для виртуальной среды, а затем создать вспомогательные файлы виртуальной среды в скрытом каталоге, именованном .venv в корневом каталоге проекта кода Python, выполнив следующую команду:

    # Linux and macOS
    python3.10 -m venv ./.venv
    # Windows
    python3.10 -m venv .\.venv
    

    Предыдущая команда использует Python 3.10, которая соответствует основной и дополнительной версии Python, используемой Databricks Runtime 13.0. Обязательно используйте основную и дополнительную версию Python, которая соответствует установленной версии Python кластера.

  2. Если Visual Studio Code отображает сообщение "Мы заметили, что была создана новая среда. Выберите ее для папки рабочей области", нажмите кнопку "Да".

  3. Используется venv для активации виртуальной среды. Ознакомьтесь с документацией по venv для правильной команды, используемой на основе операционной системы и типа терминала. Например, в macOS работает zsh:

    source ./.venv/bin/activate
    

    Вы узнаете, что виртуальная среда активируется, когда имя виртуальной среды (например, .venv) отображается в скобках непосредственно перед запросом терминала.

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

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

Перейдите к шагу 2. Обновите код Python, чтобы установить контекст отладки.

Создание виртуальной среды Python с помощью поэзии

  1. Установите поэзию, если вы еще этого не сделали.

  2. В терминале Visual Studio Code (просмотр > терминала) в корневой каталог существующего проекта кода Python необходимо poetry инициализировать проект кода Python для поэзии, выполнив следующую команду:

    poetry init
    
  3. Поэзия отображает несколько подсказок для завершения. Ни один из этих запросов не зависит от расширения Databricks для Visual Studio Code или Databricks Подключение. Сведения об этих запросах см . в разделе "Инициализация".

  4. После выполнения запросов поэзия добавляет pyproject.toml файл в проект Python. Сведения о pyproject.toml файле см. в файле pyproject.toml.

  5. При использовании терминала Visual Studio Code по-прежнему задан корневой каталог проекта кода Python, инструкции poetry по чтению pyproject.toml файла, разрешению зависимостей и их установке, созданию poetry.lock файла для блокировки зависимостей и, наконец, созданию виртуальной среды. Для этого выполните следующую команду:

    poetry install
    
  6. Укажите Visual Studio Code использовать интерпретатор Python, включенный в виртуальную среду для этого проекта Python, как показано ниже.

    1. Найдите полный путь к интерпретатору Python, который находится в виртуальной среде для этого проекта Python, выполнив следующую команду из корневого каталога проекта:

      poetry env info
      
    2. Скопируйте полный путь, отображаемый в Virtualenv > Executable выходных данных поля, например полный путь, содержащий pypoetry/virtualenvs.

    3. В палитре команд (палитра команд представления > ) введите команду >Python: Select Interpreter.

    4. Введите полный путь к интерпретатору Python, который вы только что скопировали.

  7. Если терминал Visual Studio Code по-прежнему установлен в корневой каталог проекта кода Python, попросите poetry активировать виртуальную среду и ввести оболочку. Для этого выполните следующую команду:

    poetry shell
    

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

    Чтобы отключить виртуальную среду и выйти из оболочки в любое время, выполните команду exit.

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

    Дополнительные сведения о создании виртуальных сред поэзии и управлении ими см. в статье "Управление средами".

Шаг 2. Обновление кода Python для установления контекста отладки

Чтобы установить контекст отладки между Databricks Подключение и кластером, код Python должен инициализировать DatabricksSession класс путем вызоваDatabricksSession.builder.getOrCreate().

Обратите внимание, что вам не нужно указывать такие параметры, как имя экземпляра рабочей области, маркер доступа или идентификатор кластера и номер порта при инициализации DatabricksSession класса. Databricks Подключение получает эти сведения из сведений о конфигурации, которые вы уже предоставили через расширение Databricks для Visual Studio Code ранее в этой статье.

Дополнительные сведения об инициализации DatabricksSession класса см. в примерах кода Databricks Подключение.

Внимание

Если вы используете расширение Databricks для Visual Studio Code, чтобы задать тип проверки подлинности личным маркерам доступа, расширение задает связанную SPARK_REMOTE переменную среды с параметрами контекста отладки для использования Databricks Подключение. К этим параметрам контекста отладки относятся имя экземпляра рабочей области, личный маркер доступа и идентификатор кластера.

В Databricks Подключение вы можете использовать DatabricksSessionSparkSession или класс вместе с SPARK_REMOTE проверкой подлинности маркера личного доступа, чтобы быстро и легко установить контекст отладки программным способом. Для других поддерживаемых типов проверки подлинности Azure Databricks можно использовать только DatabricksSession класс для установления контекста отладки.

Дополнительные сведения см. в документации по настройке клиента в Подключение Databricks.

Шаг 3. Включение Подключение Databricks

Открыв расширение и раздел рабочей области , настроенный для проекта кода, сделайте следующее:

  1. В строке состояния Visual Studio Code нажмите красную кнопку Databricks Подключение отключена.

  2. Если раздел кластера еще не настроен в расширении, появится следующее сообщение: "Подключите кластер для использования Databricks Подключение". Нажмите кнопку "Подключить кластер" и выберите кластер, соответствующий требованиям Databricks Подключение.

  3. Если раздел кластера настроен, но кластер не совместим с Databricks Подключение, нажмите красную кнопку Databricks Подключение отключенную, нажмите кнопку "Подключить кластер" и выберите совместимый кластер.

  4. Если пакет Databricks Подключение (и его зависимости) еще не установлен, появится следующее сообщение: "Для интерактивной отладки и автозаполнения требуется Подключение Databricks. Вы хотите установить его в среде <environment-name>". Щелкните Установить.

  5. В строке состояния Visual Studio Code появится кнопка Databricks Подключение включена.

    Если по-прежнему отображается красная кнопка Databricks Подключение отключена, нажмите ее и выполните инструкции на экране, чтобы открыть кнопку Databricks Подключение включено.

  6. После появления кнопки Databricks Подключение включено, теперь можно использовать Databricks Подключение.

Примечание.

Чтобы проект кода использовал Databricks Подключение, не нужно настраивать раздел назначения синхронизации расширения.

При использовании поэзии можно синхронизировать pyproject.toml файлы с poetry.lock установленным пакетом Databricks Подключение (и его зависимостями), выполнив следующую команду. Обязательно замените 13.3.2 версию пакета Databricks Подключение, который соответствует тому, который был установлен расширением Databricks для Visual Studio Code для проекта.

poetry add databricks-connect==13.3.2

Шаг 4. Запуск или отладка кода Python

После включения Databricks Подключение для проекта кода запустите или отладите файл Python или записную книжку, как показано ниже.

Для запуска или отладки файла Python (.py) выполните следующие действия.

  1. В проекте кода откройте файл Python, который требуется запустить или отлаживать.

  2. Задайте все точки останова отладки в файле Python.

  3. В строке заголовка редактора файлов щелкните стрелку раскрывающегося списка рядом с значком воспроизведения (запуск или отладка). Затем в раскрывающемся списке выберите "Отладка файла Python". Этот выбор поддерживает пошаговое отладку, точки останова, выражения часов, стеки вызовов и аналогичные функции. Этот выбор использует Databricks Подключение для локального запуска кода Python, запускайте код PySpark в кластере в удаленной рабочей области и отправляйте удаленные ответы обратно в Visual Studio Code для локальной отладки.

    Примечание.

    Другие варианты, которые не поддерживают отладку, включают:

    • Запустите файл Python, чтобы использовать Databricks Подключение для запуска файла или записной книжки, но без поддержки отладки. Этот выбор отправляет файл в удаленную рабочую область, запускает код Python и PySpark файла в удаленном кластере в рабочей области и отправляет удаленный ответ в терминал Visual Studio Code.
    • Отправка и запуск файла в Databricks для отправки файла в удаленную рабочую область, запуск кода Python и PySpark файла в удаленном кластере в рабочей области и отправка удаленного ответа в терминал Visual Studio Code. Этот выбор не использует Databricks Подключение.
    • Запустите файл как рабочий процесс в Databricks , чтобы отправить файл в удаленную рабочую область, запустите код Python и PySpark файла в кластере, связанном с автоматическим заданием Azure Databricks, и отправьте результаты редактору в Visual Studio Code. Этот выбор не использует Databricks Подключение.

    Запуск файла в редакторе Databricks 0

    Параметр "Запустить текущий файл в интерактивном окне ", если он доступен, пытается запустить файл локально в специальном интерактивном редакторе Visual Studio Code. Databricks не рекомендует этот параметр.

Выполнение или отладка записной книжки Python Jupyter (.ipynb):

  1. В проекте кода откройте записную книжку Python Jupyter, которую вы хотите запустить или отладить. Убедитесь, что файл Python находится в формате записной книжки Jupyter и имеет расширение .ipynb.

    Совет

    Вы можете создать записную книжку Python Jupyter, выполнив >команду Create: New Jupyter Notebook из палитры команд.

  2. Щелкните "Запустить все ячейки", чтобы запустить все ячейки без отладки, Выполнить ячейку, чтобы запустить отдельную соответствующую ячейку без отладки, или выполнить по строке для выполнения отдельной строки по строке с ограниченной отладкой, с переменными значениями, отображаемыми на панели Jupyter (просмотр > открытого представления > Jupyter).

    Для полной отладки в отдельной ячейке задайте точки останова и нажмите кнопку "Отладка ячейки" в меню рядом с кнопкой "Запустить ячейку".

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

    Дополнительные сведения см. в разделе Jupyter Notebook в VS Code.