explorez vos données présentes dans mongodb avec apache zeppelin
TRANSCRIPT
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éteursexternes
...
Apache Zeppelin: Visualisations graphiques
Apache Zeppelin: User InterfacePa
ragr
aphe
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 !