Структурированная потоковая передача извлекает последние значения для каждого идентификатора - PullRequest
0 голосов
/ 05 февраля 2019

У меня есть поток данных, содержащий идентификатор, тип и значение: Для группы пользователей с заданным ID я получаю измерения ( значение с) от различных датчиков ( тип *)1006 *).Пример входящих данных:

ID type value
1  A    70
2  B    16
1  A    71
2  A    72

Мне нужно создать приложение Spark Structured Streaming, которое будет выполнять пользовательскую кластеризацию полученных данных.Однако я застрял в начале> Я не знаю, как создать набор данных, который будет содержать последние измерения для каждого пользователя для каждого типа.Мне нужно иметь этот набор для каждого пользователя, который когда-либо появлялся в системе.

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

  ID type value
  1  A    71
  2  B    16
  2  A    72

Пользователи могутбыть неактивным в течение некоторого времени, мне все еще нужно вести их учет.Было бы полезно, если выходные данные представляют собой фрейм данных.

Любые идеи о том, как это сделать, будут очень кстати.

PS Я довольно новичок в Spark Structured Streaming, извините, если этотривиальный вопрос.

1 Ответ

0 голосов
/ 08 февраля 2019

Краткий ответ: это , а не возможно с помощью Spark Structured Streaming (в настоящее время).

Во многих постах по этому вопросу и ни в одном из них не предлагается решение, которое действительно работает.

Когда вы думаете об этом, на самом деле это высокий заказ.

Я пробовал разные подходы - хотя я знал, что это невозможно - и всегда получал какую-то ошибку от Spark.Они подробно описаны в Переполнении стека.Например:

Пользовательская дедупликация структурированной потоковой передачи

Сохранить последнюю строку для данного ключа в структурированной потоковой передаче с искрой

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...