2017-03-22 1 views
0

Je suis nouveau à Esper. J'ai besoin d'aide pour maintenir le flux EPL. J'ai un java classe EsperTest.java, cette classe envoie les données à EPL pour le calcul toutes les 10 sec.Utilisation d'epls pour plusieurs calculs de niveaux dépendants

Dans EPL de J'ai 4 Compression niveau. Par exemple. CompressionA, CompressionB, CompressionC, CompressionD. Dans chaque compression, nous effectuons un regroupement basé sur certains champs.

Après le calcul est terminé pour CompressionA, nous avons soulevé un événement i.e. « CompressionACompleted ». Sur la base de 'CompressionACompleted', nous commençons le calcul de CompressionB. Et après que le calcul a été achevé pour CompressionB, nous avons soulevé un événement par exemple 'CompressionBCompleted'. Sur la base de 'CompressionBCompleted', nous commençons le calcul de CompressionC et ainsi de suite.

Maintenant, le problème est que j'ai une liste qui contient 100 valeurs. La classe java (EsperTest.java) envoie la valeur à Esper un par un. Et ainsi toutes les compressions sont calculées pour chaque valeur de la liste.

Maintenant, je veux que 1 compression devrait calculer un pour tous les 100 changements. c'est-à-dire lorsque 100 valeurs sont envoyées à EPL puis CompressionA doit calculer pour toutes les 100 valeur 1 fois, alors CompressionB devrait commencer à mettre à jour une fois que CompressionA est terminée et mise à jour pour toute la fenêtre. CompressionC devrait alors commencer à mettre à jour une fois que B a terminé le calcul.

Utilisation du processeur élevée ou consommation élevée de mémoire comme si le nombre de valeur modifiée augmente le temps de calcul et la complexité augmente. S'il vous plaît aidez-moi à changer structure EPL dans mon application.

Répondre

0

Cette question a été posée sur la liste de diffusion Esper.

+0

Merci pour la mise à jour. –