Tutoriel Microsoft Fabric : Créer un Lakehouse
- 26 juin
- 4 min de lecture
Introduction
En lançant Fabric, Microsoft a bousculé le monde de la data avec une promesse forte : fournir une plateforme unifiée capable de gérer toute la chaîne de valeur analytique : de l'extraction et le nettoyage (ETL) jusqu'à l'exploitation et la visualisation. Fini l’époque où les équipes étaient condamnées à empiler et maintenir une constellation d'outils hétérogènes, la fameuse Modern Data Stack.
Au cœur de cette unification se trouve OneLake, un lac de données centralisé unique qui permet d'exploiter la donnée là où elle se trouve, notamment grâce au système de Shortcuts (raccourcis). Mais pour structurer, requêter et tirer le meilleur parti de cet écosystème, un composant s'impose comme le pilier incontournable de l'architecture : le Lakehouse.
Dans cet article, nous verrons ce qu’est un lakehouse, comment il se crée et comment l’optimiser.

Qu’est-ce qu’un Lakehouse ?
Définition : Le Lakehouse est une architecture de données moderne qui fusionne la flexibilité, la scalabilité et le faible coût d’un Data Lake (capable de stocker tous types de fichiers bruts) avec la structure, la gouvernance et les performances de requêtage d’un Data Warehouse.
Traditionnellement, le monde de la data était divisé en deux camps :
Le Data Lake : Un immense réservoir capable de stocker tous types de données (brutes, semi-structurées, fichiers) à bas coût, mais difficile à requêter rapidement et sans garantie de qualité.
Le Data Warehouse : Un entrepôt ultra-rapide, structuré et sécurisé (SQL), mais rigide, coûteux et limité aux données tabulaires.
Le Lakehouse est né d'un constat simple : pourquoi devrions-nous choisir ? C'est une architecture hybride qui apporte la structure, la gouvernance et la vitesse du Warehouse directement sur le stockage flexible et économique du Data Lake.
Pour réussir à faire cela, Microsoft Fabric s'appuie sur un standard open-source : le format Delta Parquet.
Sous le capot, vos données restent des fichiers (Parquet), mais elles sont accompagnées d'un journal de transactions (Delta Log). C'est ce journal qui change tout. Il permet d'obtenir :
Des transactions ACID : Vos opérations d'écriture ou de modification réussissent complètement ou échouent sans corrompre vos données.
Le "Time Travel" : La possibilité de requêter les données telles qu'elles étaient à une date précise dans le passé (idéal pour le debug ou l'audit).
L'évolution de schéma : Vos tables s'adaptent si une nouvelle colonne apparaît, sans tout casser.
Pour résumer : le Lakehouse prend des fichiers bruts et en tire des tables au format Delta , débloquant ainsi des fonctionnalités clés comme les transactions ACID, le Time Travel et l’évolution du schéma.
Création d'un Lakehouse pas-à-pas
On va ici se connecter à un csv sur les données d'IMDB. L'enjeu ici est de voir le fonctionnement global d'un Lakehouse et non d'analyser des données complexes.
Télécharger le csv en cliquant ici :
Commençons par créer le Lakehouse à partir d'un espace de travail existant. L'espace de travail est nécessaire pour la création d'un Lakehouse. On clique sur Nouvel élément.

Ensuite, on navigue et cherche l'élément Lakehouse.

On lui donne un nom et on peut choisir de lui attribuer un shéma Lakehouse par défaut en cochant la case. Cela permet d'organiser les tables en les regroupant dans une sorte de dossier : pratique pour la sécurité, le partage, l'organisation des données et la gouvernance...


Le Lakehouse est créé !
On peut voir différentes choses dans cette interface.
On a sur le paneau latéral, l'Explorateur avec les tables organisées dans shémas (dbo est le shéma par défaut). On a aussi, dans l'Explorateur, les fichiers (Files) qui alimentent les tables.
On peut aussi voir qu'il y a des onglets permettant de gérer la sécurité ou d'alimenter un modèle sémantique. Nous aborderons ces notions en détail dans d'autres articles.
Chargeons les données

Ici, on a cliqué sur Charger des fichiers. On choisit ensuite le fichier qui nous intéresse. Notez qu'on peut ingérer les données de beaucoup de manières. Pour aller droit au but, on a choisit la méthode la plus rapide et simple. On clique sur Charger.

Ensuite les fichiers apparaissent dans l'Explorateur au niveau de Files. On peut directement consulter les données.
On peut ensuite créer une table delta à partir de ce fichier pour pouvoir la transformer, l'interroger ou même la visualiser avec le langage SQL et Power BI.


On précise dans quel shéma on veut mettre la table, on peut lui choisir un nom et directement promouvoir la première ligne en en-tête. La mention d'un séparateur (",") est faite car c'est un fichier csv.
On va maintenant découvrir une partie importante du Lakehouse : le point de terminaison Analytique SQL. C'est une fonctionnalité qui permet d'accéder aux tables du Lakehouse avec des requêtes SQL. On va pouvoir interroger les tables, gérer la sécurité et créer des vues pour distribuer des tables pour élaborer les modèles sémantiques qui vont alimenter les rapports Power BI.

Ici on fait clique sur Nouvelle requête SQL pour interroger notre table.

On écrit un petit script SQL pour obtenir les 250 meilleurs films par note. A noter qu'on est sur du T-SQL, le dialecte SQL de SQL Server, logique c'est Microsoft. Ainsi, la clause LIMIT n'existe pas par exemple. Et voilà ! Le résultat est visible en-dessous.

Ne pas oublier d'entretenir le Lakehouse.

On voit, sur le screen ci-dessus, qu'on peut effectuer des actions sur les tables.
Ces actions sont à répéter assez fréquemment pour maintenir le Lakehouse. Il existe des méthodes automatisées que l'on abordera dans d'autres articles.
Il s'agit ici de regrouper les fichiers Delta Parquet pour éviter le problème des petits fichiers et une perte de performance. On parle de l'option OPTIMIZE.
V-Order est une option qui permet de lire plus rapidement les données mais qui rend l'écriture plus lente de 15%.
On peut aussi supprimer les vieux fichiers historiques qui n'alimentent plus les tables actuelles, pour le Time Travel. On peut ainsi assainir le Lakehouse en éliminant tous les fichiers non référencés depuis un certain nombre de jours avec la commande VACUUM.
Conclusion
Nous avons vu ce qu'est un Lakehouse et comment les créer. Il s'agit d'une des pierres angulaires de Fabric. Il est donc primordial de comprendre son fonctionnement et de savoir le maintenir de manière optimale.


Commentaires