Superset est une outil trop pratique pour explorer les données, il permet de faire des graphiques, dashboard avec des filtrages en quelques clics. En vrai c’est assez fou d’avoir cette qualité gratuitement, en opensource. Merci Apache Foundation !

Duckdb lui est une base de données qu’on installe très facilement sur sa machine, son utilisation est similaire à celle de Sqlite mais en ultrapuissant de fou sur l’analyse des données. Il permet de faire des stats sur des volumes qui semblent totalement inaccessibles avec un ordinateur classique et Sqlite ou une base de donnée avec un serveur (PostgreSQL, MariaDB, Mysql..).

Mais Duckdb, au lieu de ranger ses données en ligne (comme dans un fichier CSV), il les range en colonnes et le fait d’avoir les données par colonne en proximité dans la mémoire fait qu’il peut faire des choses impensables et traiter des millions de données sans avoir le temps de dire ouf. C’est totalement bluffant.
Il y a des traitements que je n’imaginais possible que dans BigQuery et qui deviennent largement envisageable avec Duckdb et avec simplicité en plus !
Par exemple Duckdb peut ouvrir un CSV gigantesque sans souci, il nomme et fait le typage des colonnes tout seul.
Superset permet d’ailleurs d’importer des CSV et autres fichier directement depuis le navigateur.
Installation en local avec docker-compose
https://superset.apache.org/docs/installation/docker-compose
git clone --depth=1 https://github.com/apache/superset.git
puis
cd superset/
docker compose -f docker-compose-non-dev.yml up
Login
admin admin 🙂
Ajouter duckdb
vi docker/requirements-local.txt
Et y ajouter ces deux lignes :
duckdb
duckdb-engine
Puis
docker compose up
Connecter Superset à un fichier duckdb
Ajouter un bind pour avoir un répertoire accessible dans le docker
vi docker-compose-non-dev.yml
y ajouter dans la section x-superset-volumes:
le volume - ~/Perso/superset/test-docker-compose/duckdb:/app/duckdb

Ajouter la connecion à la db dans l’admin
Dans l’admin ajouter une database du type duckdb et ne pas oublier de mettre les nom du fichier préfixé par le répertoire duckdb/ Par exemble duckdb/data.duckdb


Ensuite avec superset et duckdb c’est que du bonheur !