Почему «тест соединения данных» не работает после настройки соединения данных? - PullRequest
2 голосов
/ 02 мая 2019

Я хочу запускать процессы Spark непосредственно в моем кластере, используя IntelliJ IDEA, поэтому я следую следующей документации https://docs.azuredatabricks.net/user-guide/dev-tools/db-connect.html

После настройки всего я запускаю databricks-connect test, но я не получил Scala REPL, как сказано в документации.

enter image description here

Это моя конфигурация кластера

enter image description here

Ответы [ 3 ]

1 голос
/ 24 мая 2019

Попробуйте запустить примеры блоков данных, например:

from pyspark.sql import SparkSession
spark = SparkSession\
.builder\
.getOrCreate()

print("Testing simple count")
# The Spark code will execute on the Databricks cluster.
print(spark.range(100).count())

, это сработало для меня.

Возможно, они исправят databricks-connect test

1 голос
/ 02 мая 2019

Ваша версия Python должна быть 3.5 - по ссылке, которую вы разместили.Вы находитесь за прокси или сетью, которая может иметь брандмауэр 7 уровня?Все остальное, что вы сделали, выглядит правильно.Поэтому я бы попробовал в другой сети.

Вы установили:

spark.databricks.service.server.enabled true
spark.databricks.service.port 8787

ВАЖНО: Я бы повернул ваш ключ API - вы опубликовали свой идентификатор организации и введите в сообщении значение, означающее, что любой можетполучить доступ к нему сейчас.

0 голосов
/ 16 июля 2019

Я решаю проблему.Проблема заключалась в версиях всех инструментов:

  • Установка Java

Загрузка и установка Java SE Runtime Version 8.

Загрузка и установка Java SEКомплект разработчика 8.

  • Установка Conda

Вы можете скачать и установить полноценную Анаконду или использовать миниконду.

  • Загрузить WinUtils

Этот вредоносный пиджак является частью Hadoop и требуется Spark для работы в Windows.Быстрая установка, откройте Powershell (как администратор) и запустите (если вы работаете в корпоративной сети с защитой в стиле фанк, вам может понадобиться загрузить exe вручную):

New-Item -Path "C:\Hadoop\Bin" -ItemType Directory -Force
Invoke-WebRequest -Uri https://github.com/steveloughran/winutils/raw/master/hadoop-2.7.1/bin/winutils.exe -OutFile "C:\Hadoop\Bin\winutils.exe"
[Environment]::SetEnvironmentVariable("HADOOP_HOME", "C:\Hadoop", "Machine")
  • Создать виртуальную среду

Мы теперь новая виртуальная среда.Я рекомендую создать одну среду для проекта, над которым вы работаете.Это позволяет нам устанавливать разные версии Databricks-Connect для каждого проекта и обновлять их отдельно.

В меню «Пуск» найдите подсказку Anaconda.Когда он откроется, у него будет приглашение по умолчанию, например:

(базовый) C: \ Users \ User Базовая часть означает, что вы находитесь не в виртуальной среде, а при базовой установке.Для создания новой среды выполните следующее:

conda create --name dbconnect python=3.5

Где dbconnect - это имя вашей среды и может быть тем, что вы хотите.В настоящее время Databricks запускает Python 3.5 - ваша версия Python должна совпадать.Опять же, это еще одна веская причина наличия среды для каждого проекта, поскольку в будущем это может измениться.

  • Теперь активируйте среду:

    conda Activate dbconnect

  • Установить Databricks-Connect

Теперь все готово:

pip install -U databricks-connect==5.3.*

databricks-connect configure

enter image description here

  • Создать кластер Databricks (в данном случае я использовал Amazon Web Services)

enter image description here

spark.databricks.service.server.enabled true
spark.databricks.service.port 15001 (Amazon 15001, Azure 8787)
  • Отключите брандмауэр Защитника Windows или разрешите доступ.
...