Spark 2.2+
您必须在配置中使用
crossJoin或启用交叉联接:
df1.crossJoin(df2).where(my_join_udf(df1.col_a, df2.col_b))
Spark 2.0、2.1
下面显示的方法在Spark
2.x中不再起作用。参见SPARK-19728。
Spark 1.x
理论上,您可以加入和过滤:
df1.join(df2).where(my_join_udf(df1.col_a, df2.col_b))
但总的来说,您不应该全部。任何
join不基于相等性的类型都需要完整的笛卡尔积(与答案相同),这几乎是不可接受的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)