我尝试在Spark中的多个字段上连接两个 Dataframe 。我尝试了以下操作:
df1. join(df2, df1$col1 == df2$col2 && df1$col3 == df2$col4)
但这并不起作用(有一系列的错误,如果需要的话,我可以列出)。有没有更好的方法来写这个?我需要在Spark中完成,而不是pySpark,等等。
gkn4icbw1#
这个在pyspark的程序对我也有效。希望这对你有帮助!
df1.join(df2, \ (df1["col1"]==df2["col2"]) & \ (df1["col3"]==df2["col4"]))
oxalkeyp2#
在pyspark中,我必须将wrap条件放入大括号中,因为操作优先级有问题。也许你也有同样的问题:
df1. join(df2, (df1$col1 == df2$col2) && (df1$col3 == df2$col4))
vc6uscn93#
如果 Dataframe 为df1和df2,则需要执行以下操作
df1.join(df2, (df1("col1") === df2("col2")) && (df1("col3") === df2("col4")))
希望这有帮助!
ddhy6vgd4#
以下是我的工作
result=( df1 .join( df2, (df1.col1 == df2.col1) & (df1.col2 == df2.col2) & (df1.col3 == df2.col3), how="left" )
4条答案
按热度按时间gkn4icbw1#
这个在pyspark的程序对我也有效。希望这对你有帮助!
oxalkeyp2#
在pyspark中,我必须将wrap条件放入大括号中,因为操作优先级有问题。
也许你也有同样的问题:
vc6uscn93#
如果 Dataframe 为df1和df2,则需要执行以下操作
希望这有帮助!
ddhy6vgd4#
以下是我的工作