Difference between revisions of "VT2018 ApacheBeam"
Line 11: | Line 11: | ||
=Synthèse= |
=Synthèse= |
||
+ | La création de pipeline permet d'automatiser le traitement de données récurrente. Comme lors du projet Ecom ou on a dû mettre en place un pipeline pour réaliser l'intégration continue |
||
+ | |||
+ | ==Utilisation== |
||
+ | |||
+ | Apache Beam peut être utiliser dans les langages suivants : |
||
+ | *Java |
||
+ | *Python |
||
+ | *Go |
||
+ | *Scala |
||
+ | |||
+ | Les runners disponibles sont les suivants : |
||
+ | *Google cloud dataflow |
||
+ | *Apache samza |
||
+ | *Apache gearpump |
||
+ | *Apache flink |
||
+ | *Apache apex |
||
+ | *Apache spark |
||
+ | |||
+ | ==Demonstration== |
||
+ | |||
+ | Dans cette démonstration, on va lancer un pipeline permettant de récuperer certains texte de shakespeare commen données d'entrée pour ensuite avec le nombre d'apparition de chaque mot en sortie. |
||
+ | |||
+ | Prérequi pour Java : |
||
+ | *Java |
||
+ | *Maven |
||
+ | |||
+ | On lance la commande suivante dans un terminal pour récupérer les codes Java de pipelines d'exemple : |
||
+ | mvn archetype:generate \ |
||
+ | -DarchetypeGroupId=org.apache.beam \ |
||
+ | -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \ |
||
+ | -DarchetypeVersion=2.9.0 \ |
||
+ | -DgroupId=org.example \ |
||
+ | -DartifactId=word-count-beam \ |
||
+ | -Dversion="0.1" \ |
||
+ | -Dpackage=org.apache.beam.examples \ |
||
+ | -DinteractiveMode=false |
||
Revision as of 22:08, 16 December 2018
Auteur
- Nom : Benjamin BESNIER
- Mail : besnierbenjamin73@gmail.com
- Sujet : Apache Beam
Résumé
Apache Beam permet de créer des pipelines pouvant être exécuté par différents runners. De ce fait, on peut garder le même code pour réaliser différentes chose suivant le runner choisit. Un pipeline reçoit des données en entrée, puis effectue différents traitement sur celle-ci pour ensuite rendre le résultat en sortie. Le pipeline créer peut recevoir deux types de données : Des données dites bornée (i.e Une table de base de données, une fichier texte) ou des données non bornées (i.e un flux de données arrivant constamment). Apache Beam est Open-source, et le code est trouvable sur GitHub.
Abstract
Apache Beam allows the users to create pipeline which can be executed by several runners. According to that, we can keep the same code to do differents things. A pipeline get data as input, then exectue several steps on the data and give the result as output. The pipeline created can have two diffents data types as input : the first is bounded data (i.e database table, text file) and the second is unbounded file (i.e stream of data). Apache Beam is Open-source and the code is available on GitHub.
Synthèse
La création de pipeline permet d'automatiser le traitement de données récurrente. Comme lors du projet Ecom ou on a dû mettre en place un pipeline pour réaliser l'intégration continue
Utilisation
Apache Beam peut être utiliser dans les langages suivants :
- Java
- Python
- Go
- Scala
Les runners disponibles sont les suivants :
- Google cloud dataflow
- Apache samza
- Apache gearpump
- Apache flink
- Apache apex
- Apache spark
Demonstration
Dans cette démonstration, on va lancer un pipeline permettant de récuperer certains texte de shakespeare commen données d'entrée pour ensuite avec le nombre d'apparition de chaque mot en sortie.
Prérequi pour Java :
- Java
- Maven
On lance la commande suivante dans un terminal pour récupérer les codes Java de pipelines d'exemple :
mvn archetype:generate \ -DarchetypeGroupId=org.apache.beam \ -DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples \ -DarchetypeVersion=2.9.0 \ -DgroupId=org.example \ -DartifactId=word-count-beam \ -Dversion="0.1" \ -Dpackage=org.apache.beam.examples \ -DinteractiveMode=false
Références
https://beam.apache.org/documentation/programming-guide/
https://beam.apache.org/documentation/pipelines/design-your-pipeline/
https://meritis.fr/bigdata/apache-beam-projet-dunification-prometteur/
https://www.slideshare.net/JeanBaptisteOnofr/introduction-to-apache-beam
https://github.com/apache/beam
https://beam.apache.org/get-started/wordcount-example/#windowedwordcount-example