我在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的,但我想使用我自己的时间戳来进行模式查找。
谢谢。
发布于 2018-06-28 02:19:02
事件的时间戳是不可变的,您只能使用eventTimestamp()访问它的时间戳。如果您需要使用您自己的时间戳,那么将它作为流中的一个属性并使用它。
我不确定您在源代码中想要实现什么。您可以在消息中传递时间戳并提取该时间戳,并将其用作属性。您可以在处理externalTimeWindow时传递此属性,也可以在使用模式时使用该属性并与其他属性一起定义时基条件。
https://stackoverflow.com/questions/51061919
复制相似问题