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

使用databricks-connect调用collect()时遭遇Py4JJavaError问题求助

问题描述

在本地JupyterLab连接Spark集群时,执行以下代码报错:

df.select('col_1').distinct().collect()

该代码在Databricks Notebook中可正常运行,但本地执行所有将数据返回至Python的操作(如collect()、toPandas())都会触发错误。环境配置:Java 8、databricks-connect 10.4.40。

报错核心信息:

Py4JJavaError: An error occurred while calling o98.collectToPython.
: java.lang.NumberFormatException: null
        at java.lang.Long.parseLong(Long.java:552)
        at scala.collection.immutable.StringLike.toLong(StringLike.scala:309)
        at com.databricks.spark.util.DatabricksConnectConf$.$anonfun$getOrgId$2(DatabricksConnectConf.scala:94)

已尝试更换Java和pandas版本,问题未解决。

解决方案
  • 检查并设置DATABRICKS_ORG_ID环境变量,确保其值为有效的组织ID(非空)。
  • 重新运行databricks-connect configure命令,完成全量配置,重点确认组织ID字段填写正确,不要留空。
  • 在代码中验证Spark配置是否生效,添加以下代码检查:
    spark = SparkSession.builder.getOrCreate()
    print(spark.conf.get("spark.databricks.service.orgId"))
    
    确保输出为有效的数字ID,而非空值。
  • 重启JupyterLab,让新的配置或环境变量生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 23:14:52