【问题标题】:Object not callable error | Where function对象不可调用错误 |哪里功能
【发布时间】:2020-02-14 09:48:51
【问题描述】:
我正在尝试运行以下查询:
df3 = df1.join(df2, df1["DID"] == df2["JID"],'inner')\
.select(df1["DID"],df1["amt"]-df2["amt"]\
.where(df1["DID"]== "BIG123")).show()
我得到如下所示的错误:
TypeError:'Column' 对象不可调用 TypeError
Traceback(最近一次通话最后一次)
查询有什么问题,我该如何解决?
【问题讨论】:
标签:
dataframe
apache-spark-sql
pyspark-sql
cdsw
【解决方案1】:
您的查询中存在语法问题。选择的右括号在 where 块之后。下面是语法查询。
df3 = df1.join(df2, df1["DID"] == df2["JID"],'inner')\
.select(df1["DID"],df1["amt"]-df2["amt"])\
.where(df1["DID"]== "BIG123").show()
【解决方案2】:
试试这个代码:
from pyspark.sql import functions as F
df3 = df1.join(df2, df1["DID"] == df2["JID"] ,how = 'inner')\
.select("DID",df1["amt"]-df2["amt"])\
.where(F.col("DID")== "BIG123" ).show()
最好的,
阿巴卡尔