У меня есть два набора данных в Java Spark, например:


Я хочу получить объединенный набор данных, в котором есть все ключи обоих наборов данных и двух столбцов «val1» и «val2», ноль, если один отсутствует, например,

Я пробовал с fullouter join:
ds1.join(ds2,col("key1").equalTo(col("key")), "fullouter")
, но это работает, только если набор key1 равен значению key2.