Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Примечание.
В этой статье рассматриваются 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 был установлен в каталог с пробелом в вашем пути. Это можно обойти, установив путь к каталогу без пробелов или настроив путь с помощью формы короткого имени.