Добавление столбца строк в список столбцов в Spark Dataframe
У меня есть датафрейм Spark с несколькими столбцами. Я хочу добавить столбец в фрейм данных, который представляет собой сумму определенного количества столбцов.
Например, мои данные выглядят так:
ID var1 var2 var3 var4 var5
a 5 7 9 12 13
b 6 4 3 20 17
c 4 9 4 6 9
d 1 2 6 8 1
Я хочу добавить столбец суммирования строк для определенных столбцов:
ID var1 var2 var3 var4 var5 sums
a 5 7 9 12 13 46
b 6 4 3 20 17 50
c 4 9 4 6 9 32
d 1 2 6 8 10 27
Я знаю, что можно добавлять столбцы вместе, если вы знаете конкретные столбцы для добавления:
val newdf = df.withColumn("sumofcolumns", df("var1") + df("var2"))
Но можно ли передать список имен столбцов и добавить их вместе? Исходя из этого ответа, который в основном то, что я хочу, но он использует Python API вместо Scala (Добавить сумму столбца как новый столбец в фрейме данных PySpark) Думаю что-то подобное сработает
//Select columns to sum
val columnstosum = ("var1", "var2","var3","var4","var5")
// Create new column called sumofcolumns which is sum of all columns listed in columnstosum
val newdf = df.withColumn("sumofcolumns", df.select(columstosum.head, columnstosum.tail: _*).sum)
Это выбрасывает значение ошибки сумма не является членом org.apache.spark.sql.DataFrame. Есть ли способ суммировать по столбцам?
Заранее спасибо за помощь.