Объект не вызывается ошибка | Где функция - PullRequest
0 голосов
/ 14 февраля 2020

Я пытаюсь выполнить запрос ниже:

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 ]

0 голосов
/ 14 февраля 2020

Попробуйте этот код:

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

Best,

Abakar

0 голосов
/ 14 февраля 2020

В вашем запросе есть синтаксическая проблема. Закрывающая скобка для выбора идет после того, где блок. Ниже приведен синтаксический запрос.

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