Dataframe 自定义联接条件下的PySpark数据帧联接

Dataframe 自定义联接条件下的PySpark数据帧联接,dataframe,join,pyspark,Dataframe,Join,Pyspark,我有df_a,df_b,我想在定制的条件下加入它们:coalesce(df_a.id,0)+1==df_b.id,我应该如何编写代码 我尝试了df_joined=df_a.join(df_b,coalesce(df_a.id,0)+1==df_b.id) 但出现错误:参数无效,不是类型为0的字符串或列。对于列文字,请使用“lit”、“array”、“struct”或“create_map”函数您需要使用“lit”。只需做如下所示的小改动。它会起作用的。从pyspark.sql.functions

我有
df_a,df_b
,我想在定制的条件下加入它们:
coalesce(df_a.id,0)+1==df_b.id
,我应该如何编写代码

我尝试了
df_joined=df_a.join(df_b,coalesce(df_a.id,0)+1==df_b.id


但出现错误:
参数无效,不是类型为0的字符串或列。对于列文字,请使用“lit”、“array”、“struct”或“create_map”函数

您需要使用“lit”。只需做如下所示的小改动。它会起作用的。从pyspark.sql.functions导入lit导入pyspark.sql.functions作为F cond=F.coalesce(df_a.id,lit(0))+1==df_b.id newdf=df_a.join(df_b,cond)