apache zeppelin @devoxxfr 2016
TRANSCRIPT
![Page 1: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/1.jpg)
#DevoxxFR
Apache Zeppelin le notebook d’avenir pour
l’éco-système Big Data
1
![Page 2: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/2.jpg)
#DevoxxFR
Un peu de moi Duy Hai DOAN
Evangéliste technique & consultant Apache Cassandra
• talks, meetups, confs
• projet open-source (Achilles, Apache Zeppelin)
• Des questions sur Apache Cassandra/Apache Zeppelin ? ☞ [email protected] ☞ @doanduyhai
2
![Page 3: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/3.jpg)
#DevoxxFR
Datastax • Fondé en Avril 2010
• Plus gros pourvoyeur de contributeur à Apache Cassandra™
• Bureaux européens à Londres, Paris et Berlin
• Datastax Enterprise = OSS Cassandra + fonctionnalités+++
3
![Page 4: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/4.jpg)
#DevoxxFR
Qu’est ce Apache Zeppelin ?
![Page 5: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/5.jpg)
#DevoxxFR
Brève description
5
![Page 6: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/6.jpg)
#DevoxxFR
Démo: Cassandra Full Text Search
Cassandra – SparkSQL analytics
![Page 7: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/7.jpg)
#DevoxxFR 7
Architecture
Zeppelin Server
Zeppelin Engine
R E S T
Web
Sock
et
Spark Interpreter Group
Spark SparkSQL
Zeppelin Interpreter
Factory
Tajo Interpreter
Flink Interpreter
Cassandra Interpreter
JVM
JVM
JVM
JVM
JVM
![Page 8: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/8.jpg)
#DevoxxFR
Éléments graphiques
![Page 9: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/9.jpg)
#DevoxxFR
Démo
![Page 10: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/10.jpg)
#DevoxxFR
Méthodes d’affichage
![Page 11: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/11.jpg)
#DevoxxFR
Démo
![Page 12: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/12.jpg)
#DevoxxFR
Système d’interpréteurs
![Page 13: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/13.jpg)
#DevoxxFR
Cycle de vie d’un interpréteur Réception des commandes/données en entrée
• texte brut
• formulaire de données
Traiter les commandes/données par un système externe
Formatter la réponse avec une méthode d’affichage Zeppelin
Renvoyer la réponse au Zeppelin-engine
13
![Page 14: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/14.jpg)
#DevoxxFR
Interpréteurs d’origine • Spark (Spark core, SparkSQL/DataFrame, PySpark)
• Spark core = interpréteur par défaut (ou %spark)
• SparkSQL = %sql
• Shell (%sh)
• Markdown (%md)
• AngularJS (%angular)
14
![Page 15: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/15.jpg)
#DevoxxFR
Interpréteurs communautaires Alluxio Cassandra ElasticSearch Flink Geode HBase Hive Ignite JDBC …
15
![Page 16: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/16.jpg)
#DevoxxFR
Interpréteur: configuration & sélection
![Page 17: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/17.jpg)
#DevoxxFR
Créer son propre interpréteur
![Page 18: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/18.jpg)
#DevoxxFR
Étapes Créer une classe qui étend la classe Interpreter de base L’enregister dans un bloc static 😳😳😳 En option, définir quelques paramètres par défaut
18
static { !Interpreter.register("Nom_interpréteur", !
ClasseInterpreteur.class.getName()); !} !
static { !Interpreter.register("Nom_interpréteur", !
ClasseInterpreteur.class.getName(), !new InterpreterPropertyBuilder() !
.add("prop1", "val1")...build()); !} !
![Page 19: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/19.jpg)
#DevoxxFR
Pour déclarer son interpréteur en dûr
• Éditer l’enum ZeppelinConfiguration.ConfVars
• Ajouter le nom de classe de son interpréteur dans la propriété ZEPPELIN_INTERPRETERS
19
![Page 20: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/20.jpg)
#DevoxxFR
Ou déclarer son interpréteur en conf
• Copier conf/zeppelin-site.xml depuis conf/zeppelin-site.xml.template
• Ajouer son interpréteur à la propriété zeppelin.interpreters
20
<property> !<name>zeppelin.interpreters</name> ! <value>org.apache.zeppelin.spark.SparkInterpreter, !
org.apache.zeppelin.spark.PySparkInterpreter, ! org.apache.zeppelin.spark.SparkSqlInterpreter, ! org.apache.zeppelin.spark.DepInterpreter, ! org.apache.zeppelin.markdown.Markdown, ! org.apache.zeppelin.shell.ShellInterpreter, ! org.apache.zeppelin.hive.HiveInterpreter, !
fr.moi.MonInterpreteurToutPouri!</value> !
</property> !
![Page 21: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/21.jpg)
#DevoxxFR
Interpréteur AsciiDoc
21
Zeppelin Server
AsciiDoc Interpreter
JVM Zeppelin Engine
RawTextBlock
RawTextBlock
ConvertedTo
HTML
HTMLOutput
! !
!!
JVM
![Page 22: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/22.jpg)
#DevoxxFR
Démo: Interpréteur AsciiDoc
![Page 23: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/23.jpg)
#DevoxxFR
Interpréteur Cassandra
23
Cassandra Interpreter
JVM
DisplayResults as
HTML
! !
!
Zeppelin Server
JVM
RawTextBlock
RawTextBlock
Cassandra Cassandra
Java Driver
!
Async CQLstatements
!RenderHTML
!
![Page 24: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/24.jpg)
#DevoxxFR
Commandes spéciales
24
Native CQL statements
SELECT * FROM …;INSERT INTO …;
…
Schema commands
DESCRIBE TABLE …;DESCRIBE KEYSPACE …;
…
Prepared statements Commands@prepare …;
@bind …;@remove_prepared …;
Help commandHELP;
Options Commands@consistency …;@retryPolicy …;@fetchSize …;
![Page 25: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/25.jpg)
#DevoxxFR
Démo: Interpréteur Cassandra
![Page 26: Apache Zeppelin @DevoxxFR 2016](https://reader034.vdocuments.net/reader034/viewer/2022051007/58720ee31a28ab176b8b8215/html5/thumbnails/26.jpg)
#DevoxxFR
Q & R
! "