Динамическое агрегирование данных с ограничением

Попробуйте @JsonIdentityInfo аннотацию, указанную в этом примере. Подробнее здесь http://wiki.fasterxml.com/JacksonFeatureObjectIdentity

@JsonIdentityInfo(generator=ObjectIdGenerators.IntSequenceGenerator.class, property="@id")
public class Identifiable
{
    public int value;

    public Identifiable next;
}

0
задан Azim 5 March 2019 в 22:16
поделиться

1 ответ

Кажется, что это должно быть довольно просто, используя Hazelcast Jet. Предполагая, что в потоке данных есть какое-то поле данных, представляющее клиента, вы можете использовать его в качестве groupingKey на стадии конвейера, а затем предоставить необходимую логику агрегирования на стадии конвейера aggregate () или rollAggregate ().

Если у вас нет клиента в потоке данных, но у вас есть некоторый идентификатор устройства, который можно сопоставить с клиентом, то это сопоставление можно выполнить на этапе конвейера map () перед группировкой и агрегированием.

Затем вы можете сливать агрегированные данные в любой подходящий приемник данных, где клиенты могут получить к нему доступ. Он может быть записан на карту с ключом клиента, или вы можете опубликовать поток в определенной для клиента теме (JMS, Kafka или аналогичной)

0
ответ дан Mike Yawn 5 March 2019 в 22:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: