Если у меня есть столбец чисел, как мне их умножить?
val numbers = Seq((2, 7),(1, 9),(10, 0)).toDF("A", "B")
Ответить Хотите
val ResultWant = Seq(20, 0).toDF("A", "B")
Я заметил, что нет функции уменьшения по ключу или агг (умножение), что раздражает.
Лучший способ, который я могу придумать, - выписать каждый столбец как массив, а затем использовать функцию redubyleft, чтобы умножить все, а затем переупаковать все вместе.
val A = numbers.select($"A").map(r => r.getInt(0)).collect
val AWant = A.reduceLeft((x,y) => x * y)
Есть ли другой, более эффективный способ?Любые другие предложения?