Rapide présentation du projet Apache Zeppelin, environnement web facilitant l'exploration et le partage autour de vos données : le support de multiples langages pour le traitement (Spark) et l'accès aux bases de données (PostgreSQL, Cassandra, ...) permet à Zeppelin de s'adapter aux backends les plus divers.
2. Who am I ?
Architecte logiciel / Développeur
JS
@_bruno_b_ https://github.com/bbonnin
3. Apache Zeppelin, c’est…
A web-based notebook that enables interactive data
analytics.
You can make beautiful data-driven, interactive and
collaborative documents with SQL, Scala and more.
The one interface for all your big data needs.
“
”
4. Concepts de base
• Web-based
• Support de multiples
langages pour de multiples
backends
• Interactif
• Formulaires dynamiques
• Avec de la visualisation
(support de plusieurs types
de graphiques)
• Pour partager
• Facile à étendre
JDBC
5. Un peu d’histoire
• Origine: NFLabs (http://www.nflabs.com/)
• Plusieurs essais de faire un env. pour l’analyse de
données depuis 2012
• Au départ, produit commercial
• Puis, décision de le proposer à la communauté Apache
en 2014
• Projet « incubator » depuis décembre 2014
• Version 0.6.0 en cours de dév.
8. JVM
Côté serveur
Zeppelin Server
SparkSQL
Interpreter
JVM
Texte à interpréter:
SELECT * FROM bank
Résultat (format « table »: texte avec tabulations)
Texte à interpréter:
SELECT * FROM bank
Lancement
JVM
1
2
3
4
Traitement de
la requête
5Résultat
envoyé au
browser qui
interprète le
format
6
age education balance
25 primary 1500
35 unknown 300000
9. Visualisation
Accès à des visualisations suivant
le type du résultat (ici, table, donc
possibilité d’avoir des graphiques)
Sélection des
champs et des
valeurs
Affichage du
graphique
11. Autres fonctions
• Scheduler
• Partage
• Paragraphe dans iframe
• API pour ajout d’interpréteurs
• A venir:
• Sécurité (shiro)
• Export CSV
• Nouvelle UI
public class MyInterpreter extends Interpreter {
public InterpreterResult interpret(…) {…}
public void open() {…}
public void close() {…}
}
12. Pour aller plus loin
• Site officiel:
https://zeppelin.incubator.apache.org/
• Docs:
https://zeppelin.incubator.apache.org/docs/latest/
• Exemples:
https://www.zeppelinhub.com/viewer
• Code source:
https://github.com/apache/incubator-zeppelin