#pyspark #apache-spark-sql
Вопрос:
Когда я выполняю приведенную ниже команду pyspark
, я получаю сообщение об ошибке. Не могли бы вы, пожалуйста, помочь мне с этим? Есть какие-нибудь зацепки, аренда?
Команда:
df1.join(df2,df1.emp_id==df2.emp_id,how='outer').select([when(~lit(df1[c]).eqNullsafe(lit(df2[c])),
array(lit(df1[c]).cast("string"),lit(df2[c]).cast("string"))).alias('c') for c in cols]).show(10,False)
сообщение об ошибке:
TypeError Traceback (most recent call last)
<ipython-input-78-09098eca6bc7> in <module>
1 df1.join(df2,df1.emp_id==df2.emp_id,how='outer').select([when(~lit(df1[c]).eqNullsafe(lit(df2[c])),
----> 2 array(lit(df1[c]).cast("string"),lit(df2[c]).cast("string"))).alias('c') for c in cols]).show(10,False)
<ipython-input-78-09098eca6bc7> in <listcomp>(.0)
1 df1.join(df2,df1.emp_id==df2.emp_id,how='outer').select([when(~lit(df1[c]).eqNullsafe(lit(df2[c])),
----> 2 array(lit(df1[c]).cast("string"),lit(df2[c]).cast("string"))).alias('c') for c in cols]).show(10,False)
TypeError: 'Column' object is not callable
Комментарии:
1. Просто любопытно, что вы пытаетесь сделать с оператором when внутри select и правильно ли это синтаксически? Если вы обновите свой вопрос некоторыми исходными данными и конечными результатами, которые вы ищете, кто-то может предоставить решение или варианты, которые вы могли бы использовать для получения желаемого результата.