Dataframe Pyspark-将不等式条件动态传递给数据帧联接

Dataframe Pyspark-将不等式条件动态传递给数据帧联接,dataframe,join,dynamic,pyspark,inequality,Dataframe,Join,Dynamic,Pyspark,Inequality,我使用的代码来自另一个问题:我的问题是除了ON子句之外,如何在这里传递连接的不等式条件 e、 g我的连接条件是(“ID==ID”)&(DATE1DATE4)) 如果我的条件仅为ID==ID,我可以使用list\u of_join\u columns=['ID']来实现这一点,但我想在下面的代码中通过不等式条件:请告知如何实现这一点 ***现行守则***** def join_dataframes(list_of_join_columns, left_df, right_df): retu

我使用的代码来自另一个问题:我的问题是除了ON子句之外,如何在这里传递连接的不等式条件

e、 g我的连接条件是
(“ID==ID”)&(DATE1DATE4))
如果我的条件仅为
ID==ID
,我可以使用
list\u of_join\u columns=['ID']
来实现这一点,但我想在下面的代码中通过不等式条件:请告知如何实现这一点

***现行守则*****

def join_dataframes(list_of_join_columns, left_df, right_df):
    return left_df.join(right_df, on=list_of_join_columns)

joined_df = functools.reduce(
    functools.partial(join_dataframes, list_of_join_columns), list_of_dataframes,
)

如果两个数据帧中的列名不同,则需要在连接条件中标记数据帧名称和列

此外,建议重命名右侧的dataframe公共列,如id

right\u-df=right\u-df.with column重命名(“ID”,“right\u-ID”)


new_df=left_df.join(right_df,(left_df.ID==right_df.right_ID)和((left_df.DATE1right_df.DATE4))

我希望能够将连接条件作为参数传递,就像“连接列列表”一样正在此处传递。因为我要传递联接列以及其他条件表达式。