Apache Flink®
Prise en main rapide
http://www.meetup.com/fr/Paris-Apache-Flink-Meetup
Bilal BALTAGI
@bilal_baltagi
29/10/2...
Plan
1. Installation & config (en local)
2. Exécution des exemples : CLI & Job Client Web interface
3. Développement avec ...
Installation en local : Pré requis
1. Vérification de la présence de Java :
a. $ java -version #Linux, OS X ou Windows
Ins...
Installation en local : Téléchargement
1. Téléchargement d’Apache Flink http://flink.apache.org/
2. Décompression de l’arc...
Installation en local : contenu
5
Installation en local : configuration
1. Fichier de configuration unique
$ gedit ./conf/flink-conf.yaml
https://ci.apache....
Plan
1. Installation & config (en local)
2. Exécution des exemples : CLI & Job Client Web
interface
3. Développement avec ...
Exécution des exemples : Command-Line Interface
1. Exécution des programmes *.jar en ligne de commandes
a. Indifférence en...
Exécution des exemples : Command-Line Interface
(Démo)
$ ./bin/flink run ./examples/flink-java-examples-0.9.1-
WordCount.j...
Exécution des exemples : Command-Line Interface
(Démo)
$ ./bin/flink run -p 8 ./examples/flink-java-examples-0.9.1-
WordCo...
Exécution des exemples : Job Client Web interface
1. Permet l'exécution des programmes *.jar sur une interface
web
a. Visu...
Exécution des exemples : Job Client Web interface
1. Démarrer l’interpréteur
a. $ ./bin/start-local.sh
b. $ ./bin/start-we...
Exécution des exemples : Job Client Web interface
13
Exécution des exemples : Job Client Web interface
(Démo)
Envoi du programme : flink-java-examples-0.9.1-WordCount.jar
Visu...
Exécution des exemples : Job Client Web interface
15
Plan
1. Installation & config (en local)
2. Exécution des exemples : CLI & Job Client Web interface
3. Développement avec ...
Développement avec un IDE : Recommandations
1. Disposer d’une version récente de Maven
2. Deux IDE : Eclipse et IntelliJ I...
Développement avec un IDE : Exemple
JAVA
$ mkdir workspace
$ cd workspace
$ mkdir javaflink
$ cd javaflink
$ mvn archetype...
Développement avec un IDE : Exemple
SCALA
<dependency>
<groupId>org.apache.flink</groupId>
<artifactId>flink-scala</artifa...
Développement avec un IDE : Exemple
WordCount : Batch SocketTextStreamWordCount : Stream
1. Ouvrir un terminal pour écrire...
Plan
1. Installation & config (en local)
2. Exécution des exemples : CLI & Job Client Web interface
3. Développement avec ...
Développement interactif :
1. Avantages
a. Exécution interactive du code
b. Exploration rapide des données
c. API Scala co...
Développement interactif : Scala shell
23
1. $ ./bin/start-scala-shell.sh
Développement interactif : Scala shell
24
(Démo)
Scala-Flink> val input = env.fromElements(1,2,3,4)
Scala-Flink> val doubl...
Développement interactif : Scala shell
25
Défaut:
1. Pas de visualisation
2. Pas de sauvegarde
3. Pas de replay code
Développement interactif : Zeppelin
26
1. Interface-web
2. Ajout des graphes
3. Destiné aux data-scientists
4. Reporting s...
Développement interactif : Zeppelin
27
(Démo)
$ cd zeppelin
$ ./bin/zeppelin-daemon.sh start
http://localhost:8080 #Ports ...
Développement interactif : Zeppelin
28
(Démo : Double)
%flink
val input = env.fromElements(1,2,3,4)
val doubleInput = inpu...
Développement interactif : Zeppelin
29
(Démo : WordCount)
%flink
val text = env.fromElements("To be, or not to be",”bla bl...
MERCI
30
Prochain SlideShare
Chargement dans…5
×

Apache flink - prise en main rapide

674 vues

Publié le

• Comment installer Apache Flink sur votre PC ou Mac et comment se familiariser avec CLI, Job Client Web interface et Job Manager Web Interface?

• Comment développer une application Big Data en Java / Scala en utilisant un IDE?
• Comment développer avec Apache Flink en mode interactif avec Flink Shell ou Zeppelin Notebook (Scala)?

http://www.meetup.com/fr/Paris-Apache-Flink-Meetup/events/225577395/

Publié dans : Données & analyses
0 commentaire
3 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
674
Sur SlideShare
0
Issues des intégrations
0
Intégrations
4
Actions
Partages
0
Téléchargements
29
Commentaires
0
J’aime
3
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Apache flink - prise en main rapide

  1. 1. Apache Flink® Prise en main rapide http://www.meetup.com/fr/Paris-Apache-Flink-Meetup Bilal BALTAGI @bilal_baltagi 29/10/2015
  2. 2. Plan 1. Installation & config (en local) 2. Exécution des exemples : CLI & Job Client Web interface 3. Développement avec un IDE : Batch Vs Streaming 4. Développement interactif : Scala shell Vs Zeppelin 2
  3. 3. Installation en local : Pré requis 1. Vérification de la présence de Java : a. $ java -version #Linux, OS X ou Windows Installer JAVA et configurer JAVA_HOME ou %PATH%: ==>https://www.java.com/fr/ ==>http://docs.oracle.com/cd/E19182-01/820-7851/inst_cli_jdk_javahome_t/index.html 3
  4. 4. Installation en local : Téléchargement 1. Téléchargement d’Apache Flink http://flink.apache.org/ 2. Décompression de l’archive $ tar xzf flink-*.tgz 3. Facultative : Déplacer et renommer le répertoire $ mv flink-0.9.1 ~/tools/flink 4
  5. 5. Installation en local : contenu 5
  6. 6. Installation en local : configuration 1. Fichier de configuration unique $ gedit ./conf/flink-conf.yaml https://ci.apache.org/projects/flink/flink-docs-release-0.9/setup/config.html 1. Nombre de managers taskmanager.numberOfTaskSlots : *Nombre de CPU* https://ci.apache.org/projects/flink/flink-docs-release- 0.9/setup/config.html#configuring-taskmanager-processing-slots 6
  7. 7. Plan 1. Installation & config (en local) 2. Exécution des exemples : CLI & Job Client Web interface 3. Développement avec un IDE : Batch Vs Streaming 4. Développement interactif : Scala shell Vs Zeppelin 7
  8. 8. Exécution des exemples : Command-Line Interface 1. Exécution des programmes *.jar en ligne de commandes a. Indifférence entre localhost/cluster b. Passage des paramètres simplifié args[*] c. Test de performance avec différents parallélisme -p 8 2. Démarrer l’interpréteur Flink a. $ ./bin/start-local.sh #UNIX or Windows Cygwin 8
  9. 9. Exécution des exemples : Command-Line Interface (Démo) $ ./bin/flink run ./examples/flink-java-examples-0.9.1- WordCount.jar #UNIX $ .binflink.bat run .examplesflink-java-examples-0.9.1- WordCount.jar #Windows 9
  10. 10. Exécution des exemples : Command-Line Interface (Démo) $ ./bin/flink run -p 8 ./examples/flink-java-examples-0.9.1- WordCount.jar file:///home/bilal/tools/flink/LICENSE file:////home/bilal/tools/flink/output/WordCountOut.csv ==>https://ci.apache.org/projects/flink/flink-docs-release-0.9/apis/cli.html run / info / cancel / list 10
  11. 11. Exécution des exemples : Job Client Web interface 1. Permet l'exécution des programmes *.jar sur une interface web a. Visualisation du plan d'exécution b. Visualisation des performances c. Passage des paramètres args[*] d. Visualisation de l’utilisation des ressources 11
  12. 12. Exécution des exemples : Job Client Web interface 1. Démarrer l’interpréteur a. $ ./bin/start-local.sh b. $ ./bin/start-webclient.sh #Par defaut port 8080 c. localhost:8080 12
  13. 13. Exécution des exemples : Job Client Web interface 13
  14. 14. Exécution des exemples : Job Client Web interface (Démo) Envoi du programme : flink-java-examples-0.9.1-WordCount.jar Visualisation du plan d'exécution Exécution et visualisation des performances -p 1 file:////home/bilal/tools/resources/bigfile.txt file:////home/bilal/tools/flink/output/bigfileCountP1.txt -p 8 file:////home/bilal/tools/resources/bigfile.txt file:////home/bilal/tools/flink/output/bigfileCountP8.txt 14
  15. 15. Exécution des exemples : Job Client Web interface 15
  16. 16. Plan 1. Installation & config (en local) 2. Exécution des exemples : CLI & Job Client Web interface 3. Développement avec un IDE : Batch Vs Streaming 4. Développement interactif : Scala shell Vs Zeppelin 16
  17. 17. Développement avec un IDE : Recommandations 1. Disposer d’une version récente de Maven 2. Deux IDE : Eclipse et IntelliJ IDEA i. Java ii. Scala ==>https://ci.apache.org/projects/flink/flink-docs-release- 0.9/apis/programming_guide.html 17
  18. 18. Développement avec un IDE : Exemple JAVA $ mkdir workspace $ cd workspace $ mkdir javaflink $ cd javaflink $ mvn archetype:generate - DarchetypeGroupId=org.apache.flink - DarchetypeArtifactId=flink-quickstart-java - DarchetypeVersion=0.9.1 SCALA $ mkdir workspace $ cd workspace $ mkdir scalaflink $ cd scalaflink $ mvn archetype:generate - DarchetypeGroupId=org.apache.flink - DarchetypeArtifactId=flink-quickstart-scala - DarchetypeVersion=0.9.1 ⇒ Importation du projet dans l’IDE 18
  19. 19. Développement avec un IDE : Exemple SCALA <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-scala</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients</artifactId> <version>0.9.1</version> </dependency> JAVA <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-java</artifactId> <version>0.9.1</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients</artifactId> <version>0.9.1</version> </dependency> 19
  20. 20. Développement avec un IDE : Exemple WordCount : Batch SocketTextStreamWordCount : Stream 1. Ouvrir un terminal pour écrire sur le port 9999 a. $ nc -lk 9999 # Écrire quelques 2. Exécuter SocketTextStreamWordCount avec les arguments a. localhost 9999 #Adresse et port d’écoute 20
  21. 21. Plan 1. Installation & config (en local) 2. Exécution des exemples : CLI & Job Client Web interface 3. Développement avec un IDE : Batch Vs Streaming 4. Développement interactif : Scala shell Vs Zeppelin 21
  22. 22. Développement interactif : 1. Avantages a. Exécution interactive du code b. Exploration rapide des données c. API Scala complète 22
  23. 23. Développement interactif : Scala shell 23 1. $ ./bin/start-scala-shell.sh
  24. 24. Développement interactif : Scala shell 24 (Démo) Scala-Flink> val input = env.fromElements(1,2,3,4) Scala-Flink> val doubleInput = input.map(_*2) Scala-Flink> doubleInput.print()
  25. 25. Développement interactif : Scala shell 25 Défaut: 1. Pas de visualisation 2. Pas de sauvegarde 3. Pas de replay code
  26. 26. Développement interactif : Zeppelin 26 1. Interface-web 2. Ajout des graphes 3. Destiné aux data-scientists 4. Reporting schedulé ==>https://zeppelin.incubator.apache.org ==>https://zeppelin.incubator.apache.org/docs/interpreter/flink.html
  27. 27. Développement interactif : Zeppelin 27 (Démo) $ cd zeppelin $ ./bin/zeppelin-daemon.sh start http://localhost:8080 #Ports par défaut 8080 et 8081
  28. 28. Développement interactif : Zeppelin 28 (Démo : Double) %flink val input = env.fromElements(1,2,3,4) val doubleInput = input.map(_*2).collect %flink println("%table countn") doubleInput.foreach(s=> println(s))
  29. 29. Développement interactif : Zeppelin 29 (Démo : WordCount) %flink val text = env.fromElements("To be, or not to be",”bla bla bla”) val counts = text.flatMap { _.toLowerCase.split("W+")}.map { (_,1)}.groupBy(0).sum(1) val wordcount = counts.collect %flink println("%table wordtcountn") wordcount.foreach(s=> println(s._1 +"t" + s._2))
  30. 30. MERCI 30

×