为什么 "databricks-connect test" 在配置 Databricks Connect 后不起作用?
Why "databricks-connect test" does not work after configurate Databricks Connect?
我想 运行 我的 Spark 使用 IntelliJ IDEA 直接在我的集群中处理,所以我正在关注下一个文档 https://docs.azuredatabricks.net/user-guide/dev-tools/db-connect.html
配置完所有后,我 运行 databricks-connect test
但是我没有像文档中说的那样获得 Scala REPL。
这是我的集群配置
您的 Python 版本应该是 3.5 - 根据您 post 编辑的 link。
您是否在可能具有第 7 层防火墙的代理或网络后面?
你所做的其他一切看起来都是正确的。所以我会尝试另一个网络。
你设置了吗:
spark.databricks.service.server.enabled true
spark.databricks.service.port 8787
重要提示:我会轮换您的 API 密钥 - 您已经在 post 中发布了您的组织 ID 和密钥,这意味着现在任何人都可以访问它。
尝试 运行 数据块示例,例如:
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
我解决了问题。问题是所有工具的版本:
- 安装Java
下载并安装 Java SE 运行时版本 8。
下载并安装Java SE Development Kit 8.
- 安装康达
您可以下载并安装完整的 Anaconda 或使用 miniconda。
- 下载 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 Prompt。当它打开时,它会有一个默认提示,如:
(基数)C:\Users\User
基本部分意味着您不在虚拟环境中,而是基本安装。要创建新环境,请执行此操作:
conda create --name dbconnect python=3.5
其中 dbconnect 是您的环境名称,可以是您想要的名称。 Databricks 当前 运行s Python 3.5 - 您的 Python 版本必须匹配。同样,这是每个项目都有一个环境的另一个很好的理由,因为这在未来可能会改变。
现在激活环境:
conda 激活 dbconnect
安装Databricks-Connect
你现在可以开始了:
pip install -U databricks-connect==5.3.*
databricks-connect configure
- 创建 Databricks 集群(在本例中我使用了 Amazon Web Services)
spark.databricks.service.server.enabled true
spark.databricks.service.port 15001 (Amazon 15001, Azure 8787)
- 关闭 Windows Defender 防火墙或允许访问。
您的问题看起来像是以下问题之一:
a) 您指定了错误的端口(在 Azure 上必须是 8787)
b) 你没有在你的 Databricks 集群中打开端口
c) 你没有正确安装 winUtils (例如你忘记放置环境变量
如果你能听懂德语,这个 youtube 视频可能会对你有所帮助。
(显示 windows 10 的完整安装过程)。
我想 运行 我的 Spark 使用 IntelliJ IDEA 直接在我的集群中处理,所以我正在关注下一个文档 https://docs.azuredatabricks.net/user-guide/dev-tools/db-connect.html
配置完所有后,我 运行 databricks-connect test
但是我没有像文档中说的那样获得 Scala REPL。
这是我的集群配置
您的 Python 版本应该是 3.5 - 根据您 post 编辑的 link。 您是否在可能具有第 7 层防火墙的代理或网络后面? 你所做的其他一切看起来都是正确的。所以我会尝试另一个网络。
你设置了吗:
spark.databricks.service.server.enabled true
spark.databricks.service.port 8787
重要提示:我会轮换您的 API 密钥 - 您已经在 post 中发布了您的组织 ID 和密钥,这意味着现在任何人都可以访问它。
尝试 运行 数据块示例,例如:
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
我解决了问题。问题是所有工具的版本:
- 安装Java
下载并安装 Java SE 运行时版本 8。
下载并安装Java SE Development Kit 8.
- 安装康达
您可以下载并安装完整的 Anaconda 或使用 miniconda。
- 下载 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 Prompt。当它打开时,它会有一个默认提示,如:
(基数)C:\Users\User 基本部分意味着您不在虚拟环境中,而是基本安装。要创建新环境,请执行此操作:
conda create --name dbconnect python=3.5
其中 dbconnect 是您的环境名称,可以是您想要的名称。 Databricks 当前 运行s Python 3.5 - 您的 Python 版本必须匹配。同样,这是每个项目都有一个环境的另一个很好的理由,因为这在未来可能会改变。
现在激活环境:
conda 激活 dbconnect
安装Databricks-Connect
你现在可以开始了:
pip install -U databricks-connect==5.3.*
databricks-connect configure
- 创建 Databricks 集群(在本例中我使用了 Amazon Web Services)
spark.databricks.service.server.enabled true
spark.databricks.service.port 15001 (Amazon 15001, Azure 8787)
- 关闭 Windows Defender 防火墙或允许访问。
您的问题看起来像是以下问题之一: a) 您指定了错误的端口(在 Azure 上必须是 8787) b) 你没有在你的 Databricks 集群中打开端口 c) 你没有正确安装 winUtils (例如你忘记放置环境变量
如果你能听懂德语,这个 youtube 视频可能会对你有所帮助。 (显示 windows 10 的完整安装过程)。