esper
kullanarak yeni yapıyorum, EPL'yi nasıl oluşturacağımı bilmeyen bir sorunla karşılaştım.En son event‘s öğesini (null değerini filtrelemeli) bu gruptaki bazı anahtarlara göre grup
Benim etkinliğim bu öğelere sahip (anahtar, dizin, e0, e1, e2 ....) ve her olayda e1 mevcut olabilir veya olmayabilir, en son "index"'s element:“e1”
(boş değer hariç) ve toplam (e2) almak istiyorum “anahtar” ile gruplandır.
select key, sum(e2), maxby(index).e1 as e1 from Event.win:time_batch(3 sec) group by key
örnek çıktısı aşağıda gibi: Gördüğünüz
send event :{key=0, index=0, e0=5, e1=1}
send event :{**key=3**, index=1, **e1=2**, e2=6}
send event :{**key=3**, index=2, e0=0, e3=2} **//the event e1 is not exist**
send event :{key=1, index=3, e2=8, e3=4}
sliding win output: {key=0, sum(e2)=null, e1=1}
sliding win output: {key=1, sum(e2)=8, e1=null}
sliding win output: {**key=3**, sum(e2)=6, **e1=null**}
, [key = 3] 'in e1 = null, ama beklemek sonucu e1 = null olayını filtrelemek ve çıktı olarak e1 = 2
"maxby"
, "fmax"
işlevi gibi bir koşul eklenemez.
EPL'de nasıl filtreleyebilirim?
eklemek ancak EPL e1 null olayı filtre: “{** anahtar = 3 **, index = 2, e0 = 0, e3 = 2} ”, e3 = 2 de kaldıracaktır, e3'e ihtiyaç duyarsam bu evnet'i kaldıramıyorum. @ user650839 – alphacome
Bence "maxby (e1 null iken null else index end) olduğunda" maxby "gibi bir şey yapmayı düşünüyorum çünkü" maxby "bir UDF'ye çağrı da dahil olmak üzere herhangi bir ifadeyi alabilir. – user650839
"maxby (durum e1 null olduğunda null else end end end)" ---- Çalışıyor , teşekkür ederim ~~~~~ @ user650839. Bana gerçekten yardım ettin. .., yukarıdaki gibi e1 'minby' indeksi grup anahtarını almaya çalıştığımda, buut, bu işe yaramadı , ben böyle yazarım: minby (durum ne zaman e1 null sonra null else end end)' gönder event: {key = 0, index = 12, e2 = 6, e3 = 3} olay gönder: {key = 0, dizin = 13, ** e1 = 4 **} Kayan kazanç çıkışı : {key = 0, toplam (e2) = 6, ** e1 = boş **} neden çalışmıyor? nasıl yazılır? – alphacome