Aller au contenu | Aller au menu | Aller à la recherche

Installer Apache Superset sur macOS M1

Apache Superset est une plateforme de visualisation de données open source, qui permet de créer des tableaux de bord interactifs et de la visualisation de données à partir de différentes sources. Il permet aux utilisateurs d'explorer, d'analyser et de présenter des données de manière visuelle, sans nécessiter de connaissances en programmation ou en statistiques.

Superset offre une grande variété de graphiques et de tableaux de bord préconfigurés, ainsi que la possibilité de créer des graphiques personnalisés en utilisant du code Python. Il prend en charge une grande variété de sources de données telles que les bases de données SQL, les fichiers CSV et les sources de données Big Data.

L'interface utilisateur de Superset est intuitive et facile à utiliser, permettant aux utilisateurs de créer rapidement des visualisations de données et de les partager avec d'autres utilisateurs. Il permet également la collaboration, la sécurité et la gouvernance des données pour garantir que les données sont utilisées de manière appropriée et sécurisée.

Nous allons procéder à l'installation sur un MacBook Pro M1 avec macOS v13.3, 16Go de RAM, via un environnement [Anaconda|https://www.anaconda.com/products/distribution|en|Téléchargez Anaconda pour macOS].

Vous lancez votre terminal, et nous commençons par créer un environnement dédié :

conda create --name superset
proceed ([y]/n)? y
conda activate superset
cd ~/anaconda3/envs/superset

Puis nous avons besoin d'utiliser le gestionnaire de paquets pip pour Python.

conda install pip

Une fois pip installé il ne reste plus qu'à installer le package d'apache-Superset :

pip install apache-superset

Oubli du package (!?), ou quoi qu'il en soit, il faut définir une variable d'environnement pour l'application Flask utilisée par Superset via la commande :

export FLASK_APP=superset

Pensez à l'ajouter à vos variables d’environnement de votre shell habituel. Sinon il faut lancer la commande manuellement à chaque fois.

Maintenant nous allons créer une clé personnelle pour votre environnement Apache-Superset en lançant la commande suivante :

openssl rand -base64 42

Une clé va s'affichée à l'écran il faut la copier dans le fichier suivant que nous allons créer. Utilisez l'éditeur qui vous convient, en l’occurrence j'utilise vi.

vi ~/anaconda3/envs/superset/lib/python3.11/site-packages/superset/superset_config.py

Et vous collez le contenu ci-dessous, en pensant bien à indiquer la clé (SECRET_KEY) que vous venez de générer préalablement :

#---------------------------------------------------------
# Superset specific config
#---------------------------------------------------------
ROW_LIMIT = 5000

SUPERSET_WEBSERVER_PORT = 5000
#---------------------------------------------------------

#---------------------------------------------------------
# Flask App Builder configuration
#---------------------------------------------------------
# Your App secret key
SECRET_KEY = 'bzSz_YOUR_SECRET_KEY_XOdV'

# The SQLAlchemy connection string to your database backend
# This connection defines the path to the database that stores your
# superset metadata (slices, connections, tables, dashboards, ...).
# Note that the connection information to connect to the datasources
# you want to explore are managed directly in the web UI
SQLALCHEMY_DATABASE_URI = 'sqlite:////path/to/superset.db'

# Flask-WTF flag for CSRF
WTF_CSRF_ENABLED = True
# Add endpoints that need to be exempt from CSRF protection
WTF_CSRF_EXEMPT_LIST = []
# A CSRF token that expires in 1 year
WTF_CSRF_TIME_LIMIT = 60 * 60 * 24 * 365

# Set this API key to enable Mapbox visualizations
MAPBOX_API_KEY = ''

Vous sauvegardez le fichier, et maintenant vous êtes en mesure de poursuivre la configuration de Superset avec la commande suivante qui va initialiser la base de données interne :

superset db upgrade

Créez un utilisateur administrateur en tapant les commandes ci-dessous, c'est cet utilisateur que vous allez utiliser pour vous identifier sur l'application par la suite :

superset fab create-admin

Ensuite, vous serez invité à saisir votre nom d'utilisateur, votre nom et prénom, votre identifiant de messagerie et votre mot de passe.

Une fois terminé nous allons charger des données d'exemple en tapant la commande : (être patient c'est assez long)

superset load_examples

Puis vous créez des rôles et des autorisations par défaut en tapant la commande :

superset init

Nous en avons terminé de l'installation et de la configuration, vous pouvez lancer Superset en tapant :

superset run

Désormais, Superset sera disponible sur https://localhost:5000 depuis votre navigateur.

Connectez-vous à Superset avec votre identifiant et mot de passe créés précédemment.

Puis choisissez un Tableau de bord selon votre choix depuis cet écran :

Voilà un exemple de Tableau de bord :

Ou encore un gestionnaire de Charts :

Libre à vous ensuite de connecter vos bases de données et de pouvoir les manipuler comme bon vous semble.

Bon travail à tous.

La discussion continue ailleurs

URL de rétrolien : https://www.footcow.com/index.php?trackback/104

Fil des commentaires de ce billet