Ошибка объекта, который не вызывается | Где функция
Я пытаюсь выполнить запрос ниже:
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 (последний вызов последний)
В чем проблема с запросом и как ее исправить?
2 ответа
В вашем запросе есть проблема с синтаксисом. Закрывающая скобка для выбора идет после блока where. Ниже приводится синтаксический запрос.
df3 = df1.join(df2, df1["DID"] == df2["JID"],'inner')\
.select(df1["DID"],df1["amt"]-df2["amt"])\
.where(df1["DID"]== "BIG123").show()
Попробуйте этот код:
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()
Лучший,
Абакар