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


Устранение неполадок Databricks Connect для Python

Примечание.

В этой статье рассматриваются Databricks Connect для Databricks Runtime 13.3 LTS и более поздних версий.

В этой статье содержатся сведения об устранении неполадок для Databricks Connect для Python. Databricks Connect позволяет подключать популярные идентификаторы, серверы записных книжек и пользовательские приложения к кластерам Azure Databricks. См. раздел "Что такое Databricks Connect?". Сведения о версии Scala этой статьи см. в разделе "Устранение неполадок Databricks Connect для Scala".

Ошибка: StatusCode.UNAVAILABLE, StatusCode.UNKNOWN, сбой разрешения DNS или заголовок Http2 с состоянием 500

Проблема. При попытке запустить код с помощью Databricks Connect вы получите сообщения об ошибках, содержащие строки, такие как StatusCode.UNAVAILABLE, StatusCode.UNKNOWNDNS resolution failedилиReceived http2 header with status: 500.

Возможная причина: Databricks Connect не может связаться с кластером.

Рекомендуемые решения:

  • Убедитесь, что имя экземпляра рабочей области правильно. Если вы используете переменные среды, убедитесь, что связанная переменная среды доступна и исправлена на локальном компьютере разработки.
  • Проверьте правильность идентификатора кластера. Если вы используете переменные среды, убедитесь, что связанная переменная среды доступна и исправлена на локальном компьютере разработки.
  • Убедитесь, что кластер имеет правильную пользовательскую версию кластера, совместимую с Databricks Connect.

Несоответствие версии Python

Убедитесь, что в версии Python, используемой локально, имеется по крайней мере тот же дополнительный выпуск, что и в кластере (например, 3.10.11 с 3.10.10 приемлемо, а 3.10 с 3.9 — нет).

При наличии нескольких версий Python, установленных локально, убедитесь, что Databricks Connect использует правильную версию, задав переменную среды PYSPARK_PYTHON (например, PYSPARK_PYTHON=python3).

Конфликтующие установки PySpark

Пакет databricks-connect конфликтует с PySpark. Наличие обеих установленных экземпляров приведет к ошибкам при инициализации контекста Spark в Python. Это может проявиться несколькими способами, включая ошибки "поток поврежден" или "класс не найден". Если в среде Python установлен PySpark, перед установкой databricks-connect убедитесь, что он удален. После удаления PySpark необходимо полностью переустановить пакет Databricks Connect.

pip3 uninstall pyspark
pip3 uninstall databricks-connect
pip3 install --upgrade "databricks-connect==14.0.*"  # or X.Y.* to match your specific cluster version.

Конфликтующие или отсутствующие записи PATH для двоичных файлов

Возможно, ваш путь настроен таким образом, чтобы команды, такие как spark-shell, запускали другой ранее установленный двоичный файл вместо того, который был предоставлен с Databricks Connect. Необходимо убедиться в том, что двоичные файлы Databricks Connect имеют приоритет, либо удалить ранее установленные.

Если не удается выполнить такие команды, как spark-shell, возможно, путь не был автоматически настроен на pip3 install и необходимо добавить каталог установки bin в путь вручную. Databricks Connect можно использовать с интегрированными средами разработки, даже если это не настроено.

Неверный синтаксис имени файла, папки или метки тома в Windows

Если вы используете Databricks Connect в Windows и видите:

The filename, directory name, or volume label syntax is incorrect.

Databricks Connect был установлен в каталог с пробелом в пути. Это можно обойти, установив путь к каталогу без пробелов или настроив путь с помощью формы короткого имени.