Я использую Akka HTTP для отправки данных в пост-запросе и накапливаю их в списке.Мне нужно выполнить некоторые правила для тех данных, которые будут производить агрегацию по партиям.Чтобы создать пакеты, мне нужно обработать данные на фиксированное время
Данные, которые у меня есть в Списке, примерно такие, как
data = List(
Map("a" -> 1.0, "b" -> 267.0, "c" -> 26.0, "d" -> 2.0,"time" -> 12345678293), Map("a" -> 1.0, "b" -> 2678.0, "c" -> 40.0, "d" -> 2.0,"time" -> 12345678293), Map("a" -> 4.0, "b" -> 267.0, "c" -> 26.0, "d" -> 2.0,"time" -> 12345678293), Map("a" -> 1.0, "b" -> 2678.0, "c" -> 90.0, "d" -> 17.0,"time" -> 12345678293),...
)
время в предоставленной эпохе
Этот список будет увеличиваться со временем
Мои правила похожи на
RuleName function WindowTime
R1 sum(a) 5 Min
R2 avg(b) 10 Min
R3 StdDev(d) 30 Min
... ... ...
и т. Д.
игнорировать столбец функции, на данный момент, мой вопрос у меня около 200такие правила, которые имеют разное время окна.Как создать и управлять таким количеством разных окон?Как вызвать событие, чтобы правила выполнялись в свое время
В соответствии с приведенным выше примером правило R1 будет выполняться через каждые 5 минут, а R2 - через каждые 10 минут, поэтому до тех пор, пока все правила не будут выполнены, Iне может истечь данные также.Обратите внимание, что когда R2 выполнит, R1 также выполнится, поскольку R1 завершил 5 минут, а R2 завершил 10 минут.
Я просто использую Scala, Akka.
Я также прошел через слюни, но я не знаю, как слюни управляют таким количеством правил в разных окнах.
Любая идея и помощь приветствуются.Заранее спасибо!