0

我正在尝试运行以下查询:

df3 = df1.join(df2, df1["DID"] == df2["JID"],'inner')\
          .select(df1["DID"],df1["amt"]-df2["amt"]\
          .where(df1["DID"]== "BIG123")).show()

我得到如下所示的错误:

TypeError:“列”对象不可调用 TypeError
Traceback(最近一次调用最后一次)

查询有什么问题,我该如何解决?

4

2 回答 2

0

试试这个代码:

 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()

最好的,

阿巴卡尔

于 2020-02-14T10:54:47.257 回答
0

您的查询中存在语法问题。选择的右括号在 where 块之后。下面是语法查询。

df3 = df1.join(df2, df1["DID"] == df2["JID"],'inner')\
          .select(df1["DID"],df1["amt"]-df2["amt"])\
          .where(df1["DID"]== "BIG123").show()
于 2020-02-14T10:24:46.243 回答