【问题标题】: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()
      

      最好的,

      阿巴卡尔

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-11-29
        • 2012-07-28
        • 2016-06-19
        • 2011-01-27
        • 2019-09-04
        • 2021-06-11
        • 2016-10-01
        • 2013-02-20
        相关资源
        最近更新 更多