我想使用IntelliJ IDEA在集群中直接运行Spark进程,因此我在关注下一个文档https://docs.azuredatabricks.net/user-guide/dev-tools/db-connect.html
完成所有配置后,我运行databricks-connect test
,但未获得文档所述的Scala REPL。
这是我的集群配置
答案 0 :(得分:2)
您的问题似乎是以下情况之一: a)您指定了错误的端口(在Azure上必须为8787) b)您没有在您的Databricks群集中打开端口 c)您没有正确安装winUtils(例如,您忘记放置环境变量
如果您可以任意理解德语,则此youtube视频可能会为您提供帮助。 (显示Windows 10的完整安装过程。)
答案 1 :(得分:1)
您的Python版本应为3.5-根据您发布的链接。 您是否在可能具有第7层防火墙的代理或网络的后面? 您所做的所有其他事情看起来都是正确的。所以我会尝试另一个网络。
您已设置:
spark.databricks.service.server.enabled true
spark.databricks.service.port 8787
重要提示:我会轮换您的API密钥-您已在帖子中发布了组织ID和密钥,这意味着任何人现在都可以访问它。
答案 2 :(得分:1)
尝试运行数据砖示例,例如:
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
答案 3 :(得分:0)
我解决了这个问题。问题是所有工具的版本:
下载并安装Java SE Runtime版本8。
下载并安装Java SE Development Kit 8。
您可以下载并安装完整的Anaconda或使用miniconda。
此有害的Bugger是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激活dbconnect
安装Databricks-Connect
您现在可以出发了:
pip install -U databricks-connect==5.3.*
databricks-connect configure
spark.databricks.service.server.enabled true
spark.databricks.service.port 15001 (Amazon 15001, Azure 8787)