показывать одну строку для нескольких записей с общим количеством записей в виде числа в новом столбце шкалы данных фрейма - PullRequest
0 голосов
/ 30 ноября 2018

У меня есть данные следующим образом.

enter image description here

Я хочу обобщить это следующим образом:

enter image description here

Я хочу взять первую временную метку имени и добавить общее количество для столбца имени.

У меня нет идеи о том, как это сделать в скалярном коде Spark.

Не могли бы вы, пожалуйста, дать мне знать, как справиться с этой ситуацией в фрейме данных spark scala.

Спасибо, Баб

1 Ответ

0 голосов
/ 30 ноября 2018

Spark SQL имеет функции, которые вы можете использовать для достижения этой цели.

import org.apache.spark.sql.functions.{first, col}

В Scala вы можете сделать что-то вроде этого:

df.groupBy(col("Name"))
  .agg(first("ID").alias("ID"),
       first(col("Timestamp")).alias("Timestamp"),
       count(col("Name")).alias("Count")
  )

Если вы хотите сгруппировать по обоим IDи имя вы также можете написать это как

df.groupBy(col("ID"), col("Name"))
  .agg(first(col("Timestamp")).alias("Timestamp"),
       count(col("Name")).alias("Count")
  )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...