Сиддхи переопределяют eventTimestamp

У меня есть следующий источник в WSO2 Siddhi CEP:

@source(type='kafka',
    topic.list='userInfo',
    partition.no.list='0',
    threading.option='single.thread',
    group.id="threadAccessor",
    bootstrap.servers='localhost:9092',
    @map(type='json', @attributes(USERID = '$.USERID', tst = '$.TST', ACTIVITY = '$.ACTIVITY', AVG_HBR = '$.AVG_HBR')))
define stream SweetProductionStream (USERID string, tst long, ACTIVITY string, AVG_HBR int);

Есть ли способ переопределить значение, возвращаемое функцией eventTimestamp(), с помощью сопоставления? Возможно ли вообще? Я знаю, что это для externalTimeWindow, но я хотел бы использовать свои временные метки для поиска закономерностей.

Спасибо.


person Dominik Wosiński    schedule 27.06.2018    source источник


Ответы (1)


Временная метка события неизменна, вы можете получить доступ к ее временной метке только с помощью eventTimestamp(). Если вам нужно использовать свою собственную временную метку, укажите ее в качестве атрибута в потоке и используйте ее.

Я не уверен, чего вы пытаетесь достичь в источнике. Вы можете передать метку времени в сообщении, извлечь ее и использовать в качестве атрибута. Вы можете передать этот атрибут при обработке externalTimeWindow, а также при использовании шаблонов вы можете использовать атрибут и определять условия временной базы наряду с другими.

person suho    schedule 27.06.2018
comment
Да, я знаю о externalTimeWindow, но я не видел никакой информации об условиях временной базы для сопоставления с образцом. - person Dominik Wosiński; 28.06.2018