unir dinámicamente dos marcos de datos de spark-scala en varias columnas sin condiciones de unión de codificación fija

Me gustaría unir dos marcos de datos de spark-scala en varias columnas dinámicamente. Evitaría la comparación del nombre de la columna de codificación rígida como se muestra en las siguientes declaraciones;

val joinRes = df1.join(df2, df1("col1") == df2("col1") and df1("col2") == df2("col2"))

La solución para esta consulta ya existe en la versión pyspark, provista en el siguiente enlacePySpark DataFrame - Únete a múltiples columnas dinámicamente

Me gustaría codificar el mismo código usando spark-scala

Respuestas a la pregunta(1)

Su respuesta a la pregunta