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

Databricks中DataFrame左连接报'DataFrame'对象不可调用错误如何解决

报错原因

该报错是因为PySpark的DataFrame对象不支持用小括号()提取列,你代码中alpeDF('Site')、billing_classDF('icp')的写法将DataFrame作为可调用函数执行,不符合语法规范,因此触发TypeError: 'DataFrame' object is not callable。

解决方案

将小括号替换为正确的列提取写法即可,共有两种常用写法:

  • 方案1:使用方括号[]提取列(写法最简单)
alpe_billing_class = alpeDF.join(billing_classDF, alpeDF['Site'] == billing_classDF['icp'], 'left')
  • 方案2:使用col()函数提取列(规范性更强,可避免多表列名重名冲突)
# 需先导入col函数
from pyspark.sql.functions import col

alpe_billing_class = alpeDF.join(billing_classDF, col("Site") == col("icp"), "left")

# 也可明确指定列所属的DataFrame,避免同名列冲突
alpe_billing_class = alpeDF.join(billing_classDF, alpeDF.col("Site") == billing_classDF.col("icp"), "left")

修改后执行代码即可完成左连接操作,可通过alpe_billing_class.show()验证连接结果是否符合预期。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 22:06:02