junte dinamicamente dois quadros de dados spark-scala em várias colunas sem condições de junção codificadas

Eu gostaria de juntar dois quadros de dados spark-scala em várias colunas dinamicamente. Eu evitaria a comparação do nome da coluna de codificação codificada, conforme mostrado nas declarações a seguir;

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

A solução para esta consulta já existe na versão pyspark - fornecida no link a seguirPySpark DataFrame - Junte-se a várias colunas dinamicamente

Gostaria de codificar o mesmo código usando spark-scala

questionAnswers(1)

yourAnswerToTheQuestion