1Bruno Bonnin @_bruno_b_
Explorez vos données présentes dans
MongoDB avec Apache Zeppelin
MUG Nantes - 17/11/2016
Apache Zeppelin:
qu’est-ce donc ?
“The one
interface for all
your (big) data
needs !”
Création de documents interactifs
… facilitant le partage
Et tout ça, dans un navigateur !
… avec visualisation graphique
Exploration des données
Apache Zeppelin: Interface multi-langages, multi-backends
Interpréteurs
externes
...
Apache Zeppelin: Visualisations graphiques
Apache Zeppelin: User Interface
Paragraphe
Texte à interpréter
Interpréteur utilisé (sql, spark, sh, md, jdbc, …)
Résultat
Toolbar du paragraphe (start, …)
Choix de l’affichage
Formulaire généré à partir de la
requête
Apache Zeppelin: MongoDB interpreter
● Utilise le shell Mongo comme interpréteur du code
○ Langage de développement: Javascript
● Fournit quelques fonctions supplémentaire pour faciliter l’intégration
au “moule” Zeppelin:
○ méthode .table(...) sur DBQuery et DBCommandCursor
○ fonction printTable(...)
■ formatent le code pour que la sortie soit au format d’une table
directement compréhensible par Zeppelin
Serveur Zeppelin Interpréteur MongoDB
Shell
MongoDB
Script
utilisateur +
extensions
Apache Zeppelin: MongoDB interpreter
Apache Zeppelin: MongoDB interpreter
Accès à une
visualisation graphique
car la sortie est sous
forme d’une table
Formatage de la sortie
Apache Zeppelin: MongoDB interpreter
https://docs.mongodb.com/manual/tutorial/aggregation-zip-code-data-set/
Apache Zeppelin: MongoDB interpreter
Et pourquoi ne pas l’utiliser pour monitorer la base ?
Apache Zeppelin: et y a quoi d’autres ?
● Scheduler
● Export / Import
● Gestion de versions
● Sécurité: indispensable pour passer du stade de PoC à un vrai système en
prod
○ Authentification avec Shiro, Autorisation au niveau Notebook, …
● Partage: les résultats peuvent être réutilisés dans d’autres pages (via
<iframe>)
En résumé...
Zeppelin, c’est:
● Open source (https://zeppelin.apache.org/)
● Ouvert (on peut l’adapter à ses besoins, son contexte, via le dev
d’interpréteurs, l’utilisation de libs pour les visualisations)
● Plein de fonctionnalités déjà présentes ou à venir:
○ Nouveaux interpréteurs (Beam,...)
○ Visualisation de maps
○ Améliorations internes / UI
○ ...
Votre futur environnement pour vos futurs besoins autour de
vos futurs (méga-) données
Quelques liens
Site officiel:
● https://zeppelin.apache.org/
Exemples:
● https://www.zeppelinhub.com/viewer
MongoDB interpreter:
● https://github.com/bbonnin/zeppelin-mongodb-interprete
r
@_bruno_b_
Merci !

Explorez vos données présentes dans MongoDB avec Apache Zeppelin

  • 1.
    1Bruno Bonnin @_bruno_b_ Explorezvos données présentes dans MongoDB avec Apache Zeppelin MUG Nantes - 17/11/2016
  • 2.
    Apache Zeppelin: qu’est-ce donc? “The one interface for all your (big) data needs !” Création de documents interactifs … facilitant le partage Et tout ça, dans un navigateur ! … avec visualisation graphique Exploration des données
  • 3.
    Apache Zeppelin: Interfacemulti-langages, multi-backends Interpréteurs externes ...
  • 4.
  • 5.
    Apache Zeppelin: UserInterface Paragraphe Texte à interpréter Interpréteur utilisé (sql, spark, sh, md, jdbc, …) Résultat Toolbar du paragraphe (start, …) Choix de l’affichage Formulaire généré à partir de la requête
  • 6.
    Apache Zeppelin: MongoDBinterpreter ● Utilise le shell Mongo comme interpréteur du code ○ Langage de développement: Javascript ● Fournit quelques fonctions supplémentaire pour faciliter l’intégration au “moule” Zeppelin: ○ méthode .table(...) sur DBQuery et DBCommandCursor ○ fonction printTable(...) ■ formatent le code pour que la sortie soit au format d’une table directement compréhensible par Zeppelin Serveur Zeppelin Interpréteur MongoDB Shell MongoDB Script utilisateur + extensions
  • 7.
  • 8.
    Apache Zeppelin: MongoDBinterpreter Accès à une visualisation graphique car la sortie est sous forme d’une table Formatage de la sortie
  • 9.
    Apache Zeppelin: MongoDBinterpreter https://docs.mongodb.com/manual/tutorial/aggregation-zip-code-data-set/
  • 10.
    Apache Zeppelin: MongoDBinterpreter Et pourquoi ne pas l’utiliser pour monitorer la base ?
  • 11.
    Apache Zeppelin: ety a quoi d’autres ? ● Scheduler ● Export / Import ● Gestion de versions ● Sécurité: indispensable pour passer du stade de PoC à un vrai système en prod ○ Authentification avec Shiro, Autorisation au niveau Notebook, … ● Partage: les résultats peuvent être réutilisés dans d’autres pages (via <iframe>)
  • 12.
    En résumé... Zeppelin, c’est: ●Open source (https://zeppelin.apache.org/) ● Ouvert (on peut l’adapter à ses besoins, son contexte, via le dev d’interpréteurs, l’utilisation de libs pour les visualisations) ● Plein de fonctionnalités déjà présentes ou à venir: ○ Nouveaux interpréteurs (Beam,...) ○ Visualisation de maps ○ Améliorations internes / UI ○ ... Votre futur environnement pour vos futurs besoins autour de vos futurs (méga-) données
  • 13.
    Quelques liens Site officiel: ●https://zeppelin.apache.org/ Exemples: ● https://www.zeppelinhub.com/viewer MongoDB interpreter: ● https://github.com/bbonnin/zeppelin-mongodb-interprete r
  • 14.