- Ceci est mon schéma événement
EventA (FieldA string, FieldB string, FiledC string) EventB (FieldD string, FieldE string)
Comment décrire cette scène complexe par cep?
- Je veux que la requête comme:
- événements Devide dans la fenêtre de groupe, groupe EVENTA par
FieldA, FieldB
, groupe EventB parFieldE
- Si des événements se sont produits dans cet ordre:
EventA -> EventA -> EventA -> EventB -> EventB
etdistinct(EventA.FieldC) >= 3
, et ev eryEventB.FieldE
est égal àEventA.FieldB
(partie jointe), puis génère un événement correlate.
- événements Devide dans la fenêtre de groupe, groupe EVENTA par
Le problème est que: le nombre de Eventa (3) est pour le groupe window.For exemple: ["1","2","3"],["1","2","4"],["1","2","5"]
peut déclencher "EventA -> EventA -> EventA"
(3 événements dans une fenêtre de groupe), et ["1","2","3"],["1","3","4"],["1","4","5"]
ne peut pas (3 fenêtre de groupe, chacun a 1 événement) et ainsi que les 2 EventB.
donc l'exemple complet est: ["1","2","3"],["1","2","4"],["1","2","5"],["a","2"],["b","2"]
je trouve qu'il est difficile, même dans le langage naturl à descript la situation, et je ne sais pas comment ce descript en CEP;
J'utilise le contexte dans esper pour résoudre le problème que le compte est pour la fenêtre de groupe pas pour le flux (dans siddhi, partition) .Il convient au single EventA ou EventB, mais si EventA et EventB doit faire un patten, les deux indépendants du contexte ne peut pas utiliser together.And j'ai essayé Context Nesting
comme:
create context PartAB context PartA partition by FieldA and FieldB from EventA, context PartB partition by FieldE from EventB
et il semble ne fonctionne pas.
Merci à tous ceux qui peuvent aider cette situation.
merci beaucoup pour votre answer.But la seule relation entre EVENTA et EventB est que 'chaque B.FieldE est égal à chaque A.FieldB' (la partie de jointure) dans le motif' (A -> A -> A -> B -> B).' Je pense que c'est plus comme EventA groupwin par FieldA, FieldB, et EventB groupwin par FieldE (de sorte que je peux faire compter (opération) à chaque groupe pas à un flux) Et' chaque B.FieldE est égal à chaque A. FieldB' est la condition de corrélation pour le modèle (mais le groupwin ne peut pas être utilisé dans le modèle) –
http://stackoverflow.com/questions/41523167/the-concept-groupwin-is-like-the-unaligned-windows Le problème clé est que, je divide EventA, événements EventB dans la fenêtre de groupe, mais je ne peux pas corréler entre eux utiliser pattern. –