Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
В этой статье рассматриваются 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. Это может проявиться несколькими способами, включая ошибки "поток поврежден" или "класс не найден". Если вы установили pyspark в среде Python, убедитесь, что он удаляется перед установкой 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.
Databricks Connect и PySpark являются взаимоисключающими, но можно использовать виртуальные среды Python для удаленной разработки с databricks-connect в интегрированной среде разработки и локальном тестировании с pyspark в терминале. Однако Databricks рекомендует использовать Databricks Connect для Python с бессерверными вычислительными ресурсами для всех тестирований по следующим причинам:
- Среда выполнения Databricks и, следовательно,
databricks-connect, содержит функции, недоступные вpysparkOSS. - Тестирование с помощью
databricks-connectи бессерверного тестирования выполняется быстрее, чем при использованииpysparkлокально. - Интеграции каталога Unity недоступны в
pyspark, поэтому разрешения не будут применяться при использованииpysparkлокально. - Для тестирования от начала до конца с внешними зависимостями, такими как вычислительные ресурсы Databricks, лучше всего подойдут интеграционные тесты, а не модульные тесты.
Если вы по-прежнему решили подключиться к локальному кластеру Spark, можно указать строку подключения с помощью следующего:
connection_string = "sc://localhost"
DatabricksSession.builder.remote(connection_string).getOrCreate()
Конфликтующие или отсутствующие записи PATH для двоичных файлов
Возможно, ваш путь настроен таким образом, чтобы команды, такие как spark-shell, запускали другой ранее установленный двоичный файл вместо того, который был предоставлен с Databricks Connect. Необходимо убедиться, что двоичные файлы Databricks Connect имеют приоритет, либо удалить ранее установленные.
Если вы не можете выполнять команды, такие как spark-shell, возможно, что ваш PATH не был автоматически настроен с помощью pip3 install, и вам потребуется вручную добавить каталог установки bin в PATH. Можно использовать Databricks Connect со средами разработки, даже если настройка не выполнена.
Неверный синтаксис имени файла, папки или метки тома в Windows
Если вы используете Databricks Connect в Windows и видите:
The filename, directory name, or volume label syntax is incorrect.
Databricks Connect был установлен в каталог с пробелом в вашем пути. Это можно обойти, установив путь к каталогу без пробелов или настроив путь с помощью формы короткого имени.