1

私は Siddhi と複雑な相関関係を作ろうとし続けています。この場合、Web クライアントのコンサルトとクライアントの訪問に送信される通知の 2 つの入力ストリームがあります。 2 番目のストリームではなく、2 つのウィンドウで発生しており、このイベントのステータスによって異なります。

define stream consults (idClient string,dniClient string,codProduct string,codSubProduct string,chanel string,time string )

define stream comercialActions(idClient string, idAccionComercial string,codProduct string,codSubProduct string,chanel string,time string,status string)

from consults[codProduct=='Fondos']#window.time(50 seconds) select idClient,codProduct, codSubProduct, chanel, time, count(idClient) as visitCount group by idClient insert into consultsAvg for current-events

from consultsAvg[visitCount==1] select idClient, '' as idAccionComercial,codProduct, codSubProduct ,chanel, time, 'temp' as status insert into comercialActions for all-events

from comercialActions[status=='temp' or status == 'Lanzada' ]#window.time(5 seconds) select idClient as idClient, codProduct, codSubProduct, chanel, status, count(idClient) as num_status group by idClient insert into acciones_generadas for all-events

from comercialActions[status=='temp' or status=='Aceptada' or status =='Rechazada'or status=='Caduca']#window.time(3 seconds) select idClient as idClient, codProduct, codSubProduct, chanel, status,  count(idClient) as num_status group by idClient insert into acciones_realizadas for all-events

from consultsAvg[visitCount>=2]#window.time(50 seconds) as c join acciones_realizadas[num_status>=1]#window.time(5 seconds) as ag on c.idClient == ag.idClient and c.codProduct==ag.codProduct select c.idClient,c.codProduct,c.codSubProduct,c.chanel, c.time, count(c.idClient) as conteo insert into posible_ac for all-events

from posible_ac#window.time(5 seconds) as pac  join acciones_generadas[num_status>=1]#window.time(1 seconds) as ar on pac.idClient == ar.idClient select pac.idClient,pac.codProduct,pac.codSubProduct,pac.chanel,pac.time,conteo, count(ar.idClient) as conteo2  insert into enviar_Ac

from enviar_Ac[conteo==1 and conteo2==1] select idClient, codProduct,codSubProduct, chanel, time insert into generar_accion_comercial

私がやろうとしているのは、中間ストリームを使用して、これが 2 以上の場合にウェブサイトのヒット数をカウントすることです。さまざまな結合を通じて、その顧客に対してすでに商業的なアクションが行われているかどうかを確認します...非常に複雑になり、より簡単な解決策があるかどうかわかりません??? 、関数 Siddhi NOT Happened やその他の結合 (左結合) がないことを考慮して

4

1 に答える 1