我正在尝试生成一个重复数据删除事件流,而不指定任何超出用于重复数据删除的窗口策略。在我的查询上使用output first every
子句似乎具有预期的效果,但当这些查询直接插入到流中时却没有。
对于下面给出的示例,假设我试图在 4 小时内仅检测每辆车的第一个喇叭声。
(define-event-type! "CarEvent"
{:license_plate java.lang.String})
(define-event-type! "HonkEvent"
{:volume java.lang.Integer}
:supertypes #{"CarEvent"})
(define-variant! "HonkEventDeduplicated" "HonkEvent")
(define-statement! "context-IndividualCarContext"
"create context IndividualCarContext partition by license_plate from CarEvent")
(define-statement! "populate-HonkEventDeduplicated"
"context IndividualCarContext
insert into HonkEventDeduplicated
select * from HonkEvent
group by license_plate
output first every 4 hours")
然而——select * from HonkEventDeduplicated
每次鸣喇叭都会触发,即使同一辆车连续鸣喇叭两次。