Aller au contenu

ETL

Intro

Pandas et python sont bien, mais quelquefois un logiciel qui vous évite des lignes de codes, c'est mieux. Parlons des ETL. Un ETL va charger les données, les transformer et les charger vers une autre source.

Par exemple, voulez sur un site internet avoir un accès à des KPI (Key Performance Indicators ou traduction : chiffre clé) Homme/Femme. Vous n'allez pas mettre les données de toute la RH sur le site (RGPD). Vous allez vouloir compiler directement les KPI puis mettre à jour la base de données. (en vous assurant que les données soient le plus anonyme possible)

Il existe plusieurs logiciels de type ETL sur le marché :

Pourquoi Knime :

  1. Logiciel open-source fonctionnant sous Linux. Donc on supprime PowerBi et Tableaux.
  2. Simple d'utilisation en mode graphique : Pas de Luigi donc.
  3. Simple d'installation : Knime s'installe sous windows avec juste un installateur, et des paquets sont disponibles dans les distributions Linux.

Il n'y a pas de mauvais ETL. Juste que celui-ci est le mieux pour moi.

Knime

Premier lancement

Au lancement, Knime vous demande un dossier ou mettre ces artefacts (on peut traduire ça par fichiers).

fenêtre workspace

Selectionnez un dossier, cliquez sur suivant et voici Knime:

knime

Appuyez sur create new workflow

bouton workflow

Une fenêtre s'ouvre, nommez votre workflow (votre projet).

new workflow

Mon projet installation ici est de transformer des fichiers de la FAO et de les mettre dans ma base de données MariaDB.

Ensuite voir avec Grafana pour faire un mini-tableaux de bord avec des cartes et des filtres. On verra ce qui est possible avec mon petit serveur. Commençons par créer son premier workflow.

Workflow

La fenêtre de Knime se présente comme ceci :

Fenetre knime workflow

Regardez à droite et cliquez sur info.

fentre info projet

Remplissez les informations générales du projet.(nom, description ...)

Maintenant, on va enfin pouvoir travailler.

Regardez la session Nodes à gauche.

session node

Si vous utilisez des grosses données qui dépassent votre ram, vous pouvez changer le mode dans l'onglet memory policie.

configuration mémoire

Vous trouverez plein de boite (Nodes) pour faire ce que vous voulez. (lire des fichiers excel csv, des connecteurs de base de données, des filtres, ...)

Par exemple : Glisser/deposer csv-reader dans la zone pipeline et cliquez sur l'engrenage pour le configurer.

Vous devriez avoir une fenêtre comme ça :

config csv reader

Vous pouvez configurer et faire glisser/déposer/configurer les différents Nodes pour arriver à construire votre pipeline.

Pipeline knime.

Lancez le workflow et regardez si votre base de données se remplie bien par exemple avec DBeaver.

Dbeaver DB remplie de données