You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

databricks-connect 14.3.*命令行运行脚本报错,10.4.*正常求解决

解决Databricks Connect 14.3.*命令行脚本执行报错问题

问题场景

在虚拟环境中使用databricks-connect==14.3.*执行脚本:

python .\my_python_file.py --environment prod --extraction_date 2024-04-24

触发错误:

RuntimeError: Only remote Spark sessions using Databricks Connect are supported. Could not find connection parameters to start a Spark remote session.

该脚本在databricks-connect==10.4.*版本可正常运行,新版本已移除databricks-connect configure命令,改用Databricks VS Code扩展完成配置,且同一终端内databricks-connect test执行成功,但脚本仍报错。

解决方案

你的推测正确,新版本Databricks Connect依赖Databricks CLI的认证profile加载连接参数,需通过以下方式指定profile:

方法1:执行脚本时通过环境变量指定profile

在命令中添加DATABRICKS_PROFILE环境变量,替换<你的profile名称>为databricks auth login创建的profile名:

# Windows
set DATABRICKS_PROFILE=<你的profile名称> && python .\my_python_file.py --environment prod --extraction_date 2024-04-24

# Linux/macOS
DATABRICKS_PROFILE=<你的profile名称> python .\my_python_file.py --environment prod --extraction_date 2024-04-24

方法2:在脚本内显式指定profile

在Python脚本开头添加代码,设置环境变量指定profile:

import os
os.environ["DATABRICKS_PROFILE"] = "<你的profile名称>"

# 初始化SparkSession的代码放在后面
from pyspark.sql import SparkSession
spark = SparkSession.builder.getOrCreate()

方法3:终端全局设置环境变量

先在终端设置环境变量,再执行脚本:

# Windows
set DATABRICKS_PROFILE=<你的profile名称>
# Linux/macOS
export DATABRICKS_PROFILE=<你的profile名称>

# 执行脚本
python .\my_python_file.py --environment prod --extraction_date 2024-04-24

原因说明

Databricks Connect 13.0+重构了认证逻辑,不再依赖旧版databricks-connect configure生成的本地配置文件,而是复用Databricks CLI的认证profile。databricks-connect test能成功是因为它会自动检测可用profile,但Python脚本默认不会自动加载,必须显式指定profile才能获取连接参数。

内容的提问来源于stack exchange,提问作者BelowZero

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 03:36:11