Скажем, у меня есть фрейм данных с несколькими столбцами, возможно, разных типов. Мне нужно написать UDF, который принимает входные данные из нескольких столбцов, выполняет довольно сложные вычисления и возвращает результат (например, строку).
val dataframe = Seq( (1.0, Array(0, 2, 1), Array(0, 2, 3), 23.0, 21.0),
(1.0, Array(0, 7, 1), Array(1, 2, 3), 42.0, 41.0)).toDF(
"c", "a1", "a2", "t1", "t2")
Например: ("c" * sum("a1") + sum("a2")).toString + "t1".toString
На самом деле вычисление занимает много времени, и массивы содержат около миллиона элементов. Я довольно новичок в Spark и был бы признателен, если бы предоставили пример кода или указатель на ресурс (с Scala примерами).
TIA