Устранение неполадок 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.UNKNOWN
, DNS 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 с IDE даже если оно не настроено.
Неверный синтаксис имени файла, папки или метки тома в Windows
Если вы используете Databricks Connect в Windows и видите:
The filename, directory name, or volume label syntax is incorrect.
Databricks Connect был установлен в каталог с пробелом в пути. Это можно обойти, установив путь к каталогу без пробелов или настроив путь с помощью формы короткого имени.