Introduction à Apache Superset
La place de Apache Superset dans un écosystème Big Data
Comparaisons avec les standards de la BI comme Power BI, Tableau, …
Quelques cas d’usages standards en entreprise
Concepts et vocabulaire clés (dashboarding, exploration, connectivité interactivité, …)
Vue d’ensemble de l’interface et premiers pas « tout seul »Travaux pratiquesObjectif : Se familiariser avec l’interface d’Apache Superset et comprendre sa logique
Contenu : Découverte de l’interface, repérage des menus principaux, navigation dans l’outil, création d’un espace de travail personnel. Exploration d’un tableau de bord préexistant fourni par le formateur pour visualiser la diversité des visualisations possiblesInstallation et configuration
Installation en local ou sur un serveur
Installation via Docker
Le compte admin
Configuration des services auxiliairesTravaux pratiquesObjectif : Installer Apache Superset sur son environnement local
Contenu : Installation avec Docker ou installation manuelle (au choix selon niveau), configuration des services auxiliaires, création du compte administrateur, accès à l’interface web et vérification de bon fonctionnement. Paramétrage de base (logo, langue, timezone, format date/heure) et tests associésConnexion aux diverses sources de données
Les différents formats des sources (SQL, NoSQL, Excel, CSV, XML, etc.)
Rôle du moteur SQLAlchemy
Principes d’une URI (Uniform Resource Identifier)
Accès aux bases plus sécurisées (chiffrement, options spécifiques du fournisseur)Travaux pratiquesObjectif : Savoir se connecter à tout type de source de données standards
Contenu : Connexion à une base SQL (MySQL et PostgreSQL pour comprendre les invariants comme postgresql://mon_utilisateur:mon_mot_de_passe@localhost:5432/ma_base), un fichier Excel, un fichier une base NoSQL (MongoDB).Exploration et visualisation des données
Exploration et visualisation des données
Création de visualisations à partir de sources connectées.
Choix du type de graphique selon le besoin métier.
Personnalisation des couleurs, axes, formats, légendes.
Ajout de filtres dynamiques et tris interactifs.
Utilisation de SQL Lab pour préparer les requêtes.
Prévisualisation des résultats avant enregistrement.Travaux pratiquesObjectif : Créer des visualisations lisibles, filtrables, et adaptées à l’analyse métier.
Contenu : Création de plusieurs visualisations simples (barres, lignes, KPI, pie chart). Utilisation de filtres et d’options de personnalisation. Exploration de données via SQL Lab et enregistrement de requêtes réutilisables.Construction de tableaux de bord
Organisation des visualisations dans des dashboards.
Utilisation du mode “drag & drop” pour placer les éléments.
Ajout de filtres globaux au tableau de bord.
Création de liaisons entre les composants.
Configuration des permissions d’accès.
Partage et publication des dashboards.Travaux pratiquesObjectif : Savoir créer un tableau de bord interactif
Contenu : Sur la base d’un exemple parlant à tout le monde autour des ventes d’une entreprise l’objectif est de créer un tableau de bord pour visualiser le CA par mois, la répartition des ventes par catégorie de produits, les ventes par région sous forme de cartes et enfin les performances des différents canaux de vente. Le formateur valide que l’on dispose bien des quatre visuels attendus et que l’interactivité du tableau se traduit par l’action des filtres (exploration croisée) et du survol des cartes sur le visuel (affichage de détails rafraîchis dynamiquement sur les données survolées).Intégration et extensions
Ce que Apache Superset ne sait pas faire…
Présentation de l’API REST de Apache Superset
Liens avec des outils de workflow (exemple avec Airflow)
Intégration dans un pipeline CI/CD (DataOps)
Publier et archiver des dashboardsTravaux pratiquesObjectif : Mise en œuvre d’un pipeline typique « Airflow prépare les données et Superset les affiche »
Contenu : Automatisation du chargement des données, nettoyage et agrégation avec Airflow. Les données sont ensuite stockées dans une base SQL à laquelle Superset se connecte pour afficher les résultats dans des tableaux de bord. Ce pipeline s’exécute toutes les 15 minutes pour que les données soient « rafraîchies ».
On montre ensuite comment Apache Superset peut « s’abonner » à des évènements (base devenue disponible, mail avec tel objet, etc.) à travers son API REST afin de rafraichir certaines données dans des tableaux de bord (cash du dashboard) de façon automatique.Sécurité et administration
Vue d’ensemble des expositions et risques associés (utilisateurs, publications, API , …)
Les permissions fonctionnelles granulaires (vue d’un tableau de bord, édition, exécution de SQL en direct, …)
Les permissions systèmes (gestion des utilisateurs, …)
L’apport des rôles (modèle RBAC pour Rôle-Based Access Control)
Les rôles types (admin, alpha, gamma, public)
Les rôles personnalisés « conseillés »
Présentation des méthodes d’authentification (annuaire LDAP, authentification unique type SSO)
L’analyse des journaux (connexions, actions utilisateurs, …)
Exporter un dashboard au format JSONTravaux pratiquesObjectifs : Savoir sécuriser l’accès aux tableaux de bord publiés selon des besoins standards ou personnalisés
Déployer un tableau de bord automatiquement dans un environnement de recette ou de production
Contenu : Les ateliers sont réalisés en binôme (un créateur de rapport et un utilisateur) afin de tester la finesse des différents droits proposés par Apache Sunset. La répétition des actions rappelle naturellement l’intérêt des rôles dans la sécurité.
Enfin nous montrons comment créer des rôles personnalisés correspondant à des situations d’entreprise. Par exemple, « Analyste RH pour accéder aux dashboards RH uniquement », « Développeur » pour accéder à l’interface SQL et la possibilité de créer des datasets, et « manager » pour lire seulemennt les dashborards.
Export d’un tableau de bord via la ligne de commande (superset export-dashboard …) dans un dépôt GitPerformances et mise à l’échelle (scalabilité)
Comment utiliser un cache performant pour limiter les appels aux bases de données ?
Optimisation des requêtes SQL
L’apport des vues matérialisées
Fonctionnement des index
Impact de l’architecture Big Data sous-jacente
Rendre scalable Apache Superset (docker, kubernetes)
Les outils pour surveiller les performances (prometheus, grafana, …)Travaux pratiquesObjectif : Maîtriser les leviers disponibles pour surveiller et optimiser les performances en étant capable de les faire évoluer dynamiquement en fonction de la charge (scalabilité)
Contenu : Activation du cache des résultats de requêtes, timeout intelligent, configuration du cache au niveau visualisation ou globalement , optimisation des requêtes SQL, vues, mise en place d’index, apports d’une infrastructure scalable avec Kubernetes par exemple, intégration d ‘outils de monitoring pour surveiller les performances (observation des temps de réponse, des erreurs, et de la consommation des ressources avec avec Prometheus et Grafana).
Création d’un tableau de bord Apache Superset de supervision des performances avec les éléments précédents afin de « boucler » sur l’ensemble des sujets de cette formation dans un seul et même tableau de synthèse.