Динамическое присоединение к фреймам данных с использованием Spark Scala, когда столбцы JOIN отличаются
По приведенной выше ссылке мне удалось заставить работать выражение объединения, но я получаю столбцы-дубликаты, я пытался удалить столбцы в части соединения, но она не работает, я также могу использовать оператор выбора, но есть ли способ отбросить столбцы в самой строке соединения, и я не хочу использовать Seq, поскольку имена столбцов могут отличаться.
val joinKeys="id,number|id,number"
val conditionArrays = joinKeys.split("\\|").map(c => c.split(","))
val joinExpr = conditionArrays.map { case Array(a, b) => col("a." + a) === col("b." + b) }.reduce(_ and _)
left_ds.alias("a").join(right_ds.alias("b"), joinExpr, "left_outer")