Мне нужно объединить две таблицы и создать новые столбцы. Код является избыточным. Как я могу учесть это с UDF в Spark / Scala.
val finaldf : DataFrame = tableA.join(tableB, col("A_val") === col("B_val"), "left_outer")
.withColumn ("D1", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D1"))
.otherwise(col("A_D1")))
.withColumn ("D2", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D2"))
.otherwise(col("A_D2")))
.withColumn ("D3", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D3"))
.otherwise(col("A_D3")))
.withColumn ("D4", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D4"))
.otherwise(col("A_D4")))
.withColumn ("D5", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D5"))
.otherwise(col("A_D5")))
.withColumn ("D6", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D6"))
.otherwise(col("A_D6")))
.withColumn ("D7", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D7"))
.otherwise(col("A_D7")))
.withColumn ("D8", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D8"))
.otherwise(col("A_D8")))
.withColumn ("D9", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D9"))
.otherwise(col("A_D9")))
.withColumn ("D10", when(col("A_val").isNotNull && col("B_val").isNotNull, col("B_D10"))
.otherwise(col("A_D10")))
Спасибо за ваш ответ