Spark Streaming: Как узнать количество временных меток за день? - PullRequest
0 голосов
/ 16 октября 2018

Чтение потоковой передачи из темы кафки, где данные имеют метку времени.Эти данные могут иметь будущие или прошлые временные метки.Есть ли способ получить количество поступающих данных за день?Я попытался преобразовать timestamp в date, а затем агрегировать на date и получить sum как count.Это не похоже на работу.

sourceDataset
                .withWatermark("timestamp", watermarkInterval)
                .select(
                        col("timestamp").cast("date")
                )
                .groupBy(
                        functions.window(col("date"), windowInterval)
                ).sum().as("count")
                ;

1 Ответ

0 голосов
/ 17 октября 2018

используйте поток javapairdstream и установите дату в качестве ключа и значение 1. Теперь уменьшение по ключу можно использовать для подсчета количества вхождений.Это применимо, если вы пытаетесь получить номер в микропартии

...