VT2015 Complex Event Processing
Présentation
Enseignants : DONSEZ Didier, BONNEAU Georges-Pierre
Sujet : Complex Event Processing
Démonstration de Apache Storm et Spark Streaming sur le cloud d'Azure
Auteur : KLIPFFEL Tararaina
Date : 23/10/15
Mots clés :
Document
File:Complex Event Processing.pdf
Abstract
Résumé
Synthèse
Le Traitement des événements complexes (Complex Event Processing) est un concept de traitement d'événements permettant d'identifier les événements significatifs dans un nuage d'événements.
Le CEP emploie des techniques telles que la détection des schémas complexes de multiples événements: corrélation, abstraction, et hiérarchies entre événements et les relations entre événements tels que les liens de causalité, l'adhésion, la chronologie et les processus pilotés par les événements. La fonction du CEP est de découvrir les informations contenues dans les événements qui passent dans toutes les couches d'une organisation et ensuite d'analyser son impact au niveau macro comme "événement complexe" et puis décider du plan d'action en temps réel.
Apache Spark
Apache Spark est un framework de traitements Big Data open source développé par AMPLab, de l’Université UC Berkeley, en 2009 et passé open source sous forme de projet Apache en 2010. Apache Spark permet d'effectuer des analyses sophistiquées. C'est principaux avantages et sa rapidité et sa facilité d’utilisation.
À côté des API principales de Spark, l’écosystème contient des librairies additionnelles qui permettent de travailler dans le domaine des analyses big data et du machine learning. Parmi ces librairies, on trouve :
Spark Streaming : Spark Streaming peut être utilisé pour traitement temps-réel des données en flux. Il s’appuie sur un mode de traitement en "micro batch" et utilise pour les données temps-réel DStream, c’est-à-dire une série de RDD (Resilient Distributed Dataset).
Les concepts
En fait Spark Streaming ne fait pas du vrai temps réel mais plutôt du micro-batch c’est-à-dire que Spark ne traite pas les données d’un flux au fil de l’eau (contrairement à Apache Storm), elles sont accumulées pendant un laps de temps avant d’être traitées. Bien entendu, ce laps de temps peut être configuré.
batch :En informatique, un traitement par lots (batch processing en anglais) est un enchaînement automatique d'une suite de commandes (processus) sur un ordinateur sans intervention d'un opérateur1. Une fois que ce processus est terminé (quel que soit le résultat), l'ordinateur traite le lot suivant. Le traitement des lots se termine une fois que tous les lots de la pile ont été exécutés.