Contact
Contact

Superset Airbnb : avantages et inconvénients de l'outil de visualisation de données open source

11 novembre 2021
Auteur :
Data visualization-s

Brève introduction à l'outil

Dans cet article, j'analyse un outil open source de visualisation de données, Superset Airbnb. Nous avons utilisé l'outil de visualisation Superset Airbnb dans l'un de nos projets récents et il nous a très bien servi dans la plupart des cas. Dans cet article, je vous expliquerai pourquoi nous avons choisi Superset parmi d'autres outils de BI, quels sont les principaux avantages et inconvénients de la plateforme.

Superset est un outil assez récent, donc nous étions intéressés à le tester. Nous étions déjà familiers avec Pentaho grâce aux projets précédents, mais nous n'étions pas entièrement satisfaits de celui-ci.

Superset est une plateforme d'exploration de données conçue pour être visuelle, intuitive et interactive. L'objectif principal de Superset est de faciliter l'analyse, la découpe et la visualisation des données. Son développeur affirme que Superset peut effectuer des analyses à la vitesse de la pensée. Comme nous l'avons déjà mentionné, l'outil de visualisation de données open-source est écrit dans le framework web pythonique Flask.

Superset est entièrement open-source et implémenté en Python, tandis que Pentaho est en Java. Cela a été un gros plus pour nous car nous étions principalement une équipe pythonique. Et pour aller plus loin, je dois dire que cela nous a vraiment bien servi.

Processus de sélection

La visualisation Superset a été perçue comme un outil plus attrayant pour nous pour les raisons suivantes :

  • Supporte plusieurs sources de données
  • Superset prend en charge 30 types de visualisations
  • Fournit diverses visualisations (avec filtres interactifs)
  • Réaction rapide aux problèmes GitHub de l'équipe

Défis que nous avons rencontrés

Les utilisateurs de BI du département marketing souhaitaient avoir des filtres interactifs sur de nombreux champs de types différents, par exemple, des filtres de chaîne, de date, d'entiers.

Une autre solution était d'utiliser les opportunités de SQL Lab dans Superset. Mais ce n'était pas une option pour nous car nous devions fournir des filtres personnalisés pour les utilisateurs finaux du département marketing qui n'écriraient pas de requêtes SQL.

Par exemple, nous voulions compter le nombre d'entraînements pour chaque utilisateur de l'application et ensuite regrouper les utilisateurs par comptage (de 1 à 3, de 3 à 5, de 5 à 10, etc.). Nous devions également appliquer des filtres de données personnalisés au tableau de bord, mais créer cette fonctionnalité avec Superset est devenu un défi pour nous. Créer une vue ne répondait pas à nos besoins dans ce cas car le résultat de l'agrégation externe dépendait des conditions de filtrage dans le regroupement interne.

Voici un autre exemple de tâche qui semblait être un problème pour Superset : nous voulions tracer la progression de la perte de poids (des utilisateurs de l'application de fitness) sur une période de temps arbitraire. La tâche semble être assez simple : vous choisissez le dernier enregistrement de poids dans un temps et soustrayez le premier enregistrement de poids pendant la période pour chaque utilisateur. Nous rejoignons donc les résultats de deux requêtes qui nous donnent les user_ids et la valeur du poids avec un ordre croissant et décroissant des enregistrements de poids selon l'heure de création de l'enregistrement. Mais Superset ne permet pas d'utiliser la clause JOIN lors de la création d'une tranche, nous devons donc créer une requête personnalisée à l'intérieur de la classe de type de visualisation.

Guide étape par étape pour la conception de tableaux de bord avec Superset

Tout d'abord, pour créer des visualisations, vous fournissez une source de données. Comme mentionné précédemment, Superset accepte non seulement Druid mais aussi les bases de données qui supportent SQL Alchemy, par exemple PostgreSQL, MySQL, SQLite.

Airbnb utilise Superset avec Druid, mais prend en charge toutes les sources de données compatibles avec SQLAlchemy.

2. Après avoir ajouté une source de données, ajoutez des tables de cette base de données et spécifiez les propriétés des champs. Vous pouvez indiquer si un champ est groupable, filtrable, temporel, etc. Vous pouvez également ajouter des métriques personnalisées (en plus des métriques par défaut comme COUNT, COUNT DISTINCT, SUM, etc.).

3. Ensuite, vous créez des slices. Un slice est un graphique unique basé sur vos données. Notez que vous pouvez construire des slices pour une seule table à la fois. Mais ce n'est pas un problème, car vous pouvez toujours créer une vue en joignant autant de tables que nécessaire. Votre futur rapport BI peut comprendre un ou plusieurs slices.

Un résumé des avantages et des inconvénients de l'utilisation de Superset

Avantages :

  • Supporte plusieurs sources de données
  • Superset prend en charge 30 types de visualisations
  • Fournit diverses visualisations (avec filtres interactifs)

Inconvénients :

  • Problems with customization (if you don't want to dive into the source code).

Besoin d'aide pour la visualisation des données ?

C'est tout ! Merci d'avoir lu mon post. J'espère qu'il vous a été utile pour découvrir Superset. Essayez cet outil de visualisation de données open source et explorez ses fonctionnalités en profondeur sans crainte !