对象不可调用错误|哪里功能

问题描述 投票:0回答:2

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

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

我收到如下所示的错误:

TypeError:'Column'对象不可调用TypeError追溯(最近一次通话结束)

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

dataframe hadoop apache-spark-sql pyspark-sql cdsw
2个回答
0
投票

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

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

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

最佳,

Abakar

© www.soinside.com 2019 - 2024. All rights reserved.