VT2015 Complex Event Processing: Difference between revisions
Line 29: | Line 29: | ||
===Apache Spark=== |
===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. |
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. |
||
====Avantages==== |
|||
Spark présente plusieurs avantages par rapport aux autres technologies big data et MapReduce comme Hadoop et Storm. D’abord, Spark propose un framework complet et unifié pour répondre aux besoins de traitements Big Data pour divers jeux de données, divers par leur nature (texte, graphe, etc.) aussi bien que par le type de source (batch ou flux temps-réel). Ensuite, Spark permet à des applications sur clusters Hadoop d’être exécutées jusqu’à 100 fois plus vite en mémoire, 10 fois plus vite sur disque. Il vous permet d’écrire rapidement des applications en Java, Scala ou Python et inclut un jeu de plus de 80 opérateurs haut-niveau. De plus, il est possible de l’utiliser de façon interactive pour requêter les données depuis un shell. |
|||
Enfin, en plus des opérations de Map et Reduce, Spark supporte les requêtes SQL et le streaming de données et propose des fonctionnalités de machine learning et de traitements orientés graphe. Les développeurs peuvent utiliser ces possibilités en stand-alone ou en les combinant en une chaîne de traitement complexe. |
|||
À 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 : |
À 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==== |
|||
Spark Streaming peut être utilisé pour traitement temps-réel des données en flux. En vérité Spart Streaming ne fait pas de l'analyse de données en temps réel mais utilise plutôt un mode de traitement "micro-batch". C'est à dire que Spark ne traite pas les données d’un flux en continue (contrairement à Apache Storm) mais les accumule pendant un laps de temps fixé avant d’être traitées. Deplus Spark stream utilise pour les données temps-réel DStream, c’est-à-dire une série de RDD (Resilient Distributed Dataset). |
|||
Les concepts |
|||
⚫ | batch :En informatique, un traitement par lots est un enchaînement automatique d'une suite de commandes (processus) sur un ordinateur sans intervention d'un opérateur.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. |
||
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é. |
|||
Les Resilient Distributed Datasets (basés sur la publication de recherche de Matei), ou RDD, sont un concept au cœur du framework Spark. Vous pouvez voir un RDD comme une table dans une base de données. Celui-ci peut porter tout type de données et est stocké par Spark sur différentes partitions. Les RDD permettent de réarranger les calculs et d’optimiser le traitement. Ils sont aussi tolérants aux pannes car un RDD sait comment recréer et recalculer son ensemble de données. Les RDD sont immutables. Pour obtenir une modification d’un RDD, il faut y appliquer une transformation, qui retournera un nouveau RDD, l’original restera inchangé. Les RDD supportent deux types d’opérations : |
|||
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. |
|||
⚫ | |||
==Conclusion== |
==Conclusion== |
Revision as of 22:37, 20 October 2015
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.
Avantages
Spark présente plusieurs avantages par rapport aux autres technologies big data et MapReduce comme Hadoop et Storm. D’abord, Spark propose un framework complet et unifié pour répondre aux besoins de traitements Big Data pour divers jeux de données, divers par leur nature (texte, graphe, etc.) aussi bien que par le type de source (batch ou flux temps-réel). Ensuite, Spark permet à des applications sur clusters Hadoop d’être exécutées jusqu’à 100 fois plus vite en mémoire, 10 fois plus vite sur disque. Il vous permet d’écrire rapidement des applications en Java, Scala ou Python et inclut un jeu de plus de 80 opérateurs haut-niveau. De plus, il est possible de l’utiliser de façon interactive pour requêter les données depuis un shell.
Enfin, en plus des opérations de Map et Reduce, Spark supporte les requêtes SQL et le streaming de données et propose des fonctionnalités de machine learning et de traitements orientés graphe. Les développeurs peuvent utiliser ces possibilités en stand-alone ou en les combinant en une chaîne de traitement complexe.
À 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
Spark Streaming peut être utilisé pour traitement temps-réel des données en flux. En vérité Spart Streaming ne fait pas de l'analyse de données en temps réel mais utilise plutôt un mode de traitement "micro-batch". C'est à dire que Spark ne traite pas les données d’un flux en continue (contrairement à Apache Storm) mais les accumule pendant un laps de temps fixé avant d’être traitées. Deplus Spark stream utilise pour les données temps-réel DStream, c’est-à-dire une série de RDD (Resilient Distributed Dataset).
batch :En informatique, un traitement par lots est un enchaînement automatique d'une suite de commandes (processus) sur un ordinateur sans intervention d'un opérateur.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.
Les Resilient Distributed Datasets (basés sur la publication de recherche de Matei), ou RDD, sont un concept au cœur du framework Spark. Vous pouvez voir un RDD comme une table dans une base de données. Celui-ci peut porter tout type de données et est stocké par Spark sur différentes partitions. Les RDD permettent de réarranger les calculs et d’optimiser le traitement. Ils sont aussi tolérants aux pannes car un RDD sait comment recréer et recalculer son ensemble de données. Les RDD sont immutables. Pour obtenir une modification d’un RDD, il faut y appliquer une transformation, qui retournera un nouveau RDD, l’original restera inchangé. Les RDD supportent deux types d’opérations :