Вы можете сделать левое соединение между двумя фреймами данных следующим образом:
import org.apache.spark.sql.functions.when
import spark.implicits._
val df1 = sc.parallelize(Seq((2,3),(1,4))).toDF("id1","id2")
val df2 = sc.parallelize(Seq((4,1),(2,3))).toDF("id1","id2")
val df3 = df1.join(df2, df1("id1")===df2("id1") && df1("id2") === df2("id2"), "left")
.select(df1("id1"),
df1("id2"),
when(df2("id1").isNull, 0).otherwise(1).alias("label"))
df3.show()
+---+---+-----+
|id1|id2|label|
+---+---+-----+
| 2| 3| 1|
| 1| 4| 0|
+---+---+-----+
Надеюсь, это поможет вам.