Как добавить значение столбца в spark, используя Scala? - PullRequest
0 голосов
/ 31 марта 2019

У меня есть такие данные

+-------------+--------+--------+
|         COl1|    Col2|    COL3|
+-------------+--------+--------+
|A .......... |   56102|   45991|
|B........... |   25336|   23099|
+-------------+--------+--------+

должно быть так

+-------------+--------+--------+
|         COl1|    Col2|    COL3|
+-------------+--------+--------+
|A .......... |   56102|   45991|
|B........... |   25336|   23099|
|Total....... |   58368|   69090|
+-------------+--------+--------+

нужна строка с Total, а значение должно быть суммой строки расширения в кадре данных.

1 Ответ

2 голосов
/ 31 марта 2019

Вы можете использовать функции агрегирования для вычисления сумм и объединения для добавления их в конце исходного df.Чтобы это работало, вам просто нужно убедиться, что имена столбцов совпадают.

Это будет выглядеть так:

val df = Seq(("A", 56102, 45991), ("B",  25336, 23099))
    .toDF("COL1", "COL2", "COL3")

val sums = df.select(lit("Total") as "COL1", sum('COL2) as "COL2", sum('COL3) as "COL3")
df.union(sums).show()
+-----+-----+-----+
| COL1| COL2| COL3|
+-----+-----+-----+
|    A|56102|45991|
|    B|25336|23099|
|Total|81438|69090|
+-----+-----+-----+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...