fabric-lakehouse

Par github · awesome-copilot

Utilisez cette skill pour obtenir des informations contextuelles sur Fabric Lakehouse et ses fonctionnalités pour les systèmes logiciels et les fonctions optimisées par l'IA. Elle propose des descriptions des composants de données Lakehouse, l'organisation avec des schémas et des shortcuts, le contrôle d'accès, ainsi que des exemples de code. Cette skill aide les utilisateurs à concevoir, construire et optimiser des solutions Lakehouse en suivant les meilleures pratiques.

npx skills add https://github.com/github/awesome-copilot --skill fabric-lakehouse

Quand utiliser cette compétence

Utilisez cette compétence quand vous devez :

  • Générer un document ou une explication qui inclut la définition et le contexte de Fabric Lakehouse et ses capacités.
  • Concevoir, construire et optimiser des solutions Lakehouse en suivant les bonnes pratiques.
  • Comprendre les concepts fondamentaux et les composants d'un Lakehouse dans Microsoft Fabric.
  • Apprendre à gérer les données tabulaires et non-tabulaires dans un Lakehouse.

Fabric Lakehouse

Concepts fondamentaux

Qu'est-ce qu'un Lakehouse ?

Lakehouse dans Microsoft Fabric est un élément qui donne aux utilisateurs un endroit pour stocker leurs données tabulaires (comme les tables) et non-tabulaires (comme les fichiers). Il combine la flexibilité d'un data lake avec les capacités de gestion d'un data warehouse. Il fournit :

  • Stockage unifié dans OneLake pour les données structurées et non structurées
  • Format Delta Lake pour les transactions ACID, la versioning et le time travel
  • Point de terminaison SQL pour les requêtes T-SQL
  • Modèle sémantique pour l'intégration Power BI
  • Support d'autres formats de table comme CSV, Parquet
  • Support de tout format de fichier
  • Outils pour l'optimisation des tables et la gestion des données

Composants clés

  • Delta Tables : Tables gérées avec conformité ACID et application de schéma
  • Fichiers : Données non structurées/semi-structurées dans la section Files
  • Point de terminaison SQL : Interface SQL en lecture seule générée automatiquement pour les requêtes
  • Raccourcis : Liens virtuels vers des données externes/internes sans copie
  • Fabric Materialized Views : Tables pré-calculées pour une performance de requête rapide

Données tabulaires dans un Lakehouse

Les données tabulaires sous forme de tables sont stockées sous le dossier « Tables ». Le format principal pour les tables dans Lakehouse est Delta. Lakehouse peut stocker les données tabulaires dans d'autres formats comme CSV ou Parquet, ces formats sont uniquement disponibles pour les requêtes Spark. Les tables peuvent être internes, quand les données sont stockées sous le dossier « Tables », ou externes, quand seule une référence à une table est stockée sous le dossier « Tables » mais les données elles-mêmes sont stockées dans un emplacement référencé. Les tables sont référencées via des Raccourcis, qui peuvent être internes (pointant vers un autre emplacement dans Fabric) ou externes (pointant vers des données stockées en dehors de Fabric).

Schémas pour les tables dans un Lakehouse

Lors de la création d'un lakehouse, les utilisateurs peuvent choisir d'activer les schémas. Les schémas sont utilisés pour organiser les tables Lakehouse. Les schémas sont implémentés comme des dossiers sous le dossier « Tables » et stockent les tables à l'intérieur de ces dossiers. Le schéma par défaut est « dbo » et ne peut pas être supprimé ou renommé. Tous les autres schémas sont optionnels et peuvent être créés, renommés ou supprimés. Les utilisateurs peuvent référencer un schéma situé dans un autre lakehouse à l'aide d'un Schema Shortcut, permettant ainsi de référencer toutes les tables du schéma de destination avec un seul raccourci.

Fichiers dans un Lakehouse

Les fichiers sont stockés sous le dossier « Files ». Les utilisateurs peuvent créer des dossiers et des sous-dossiers pour organiser leurs fichiers. Tout format de fichier peut être stocké dans Lakehouse.

Fabric Materialized Views

Ensemble de tables pré-calculées qui sont automatiquement mises à jour selon un calendrier. Elles fournissent une performance de requête rapide pour les agrégations et jointures complexes. Les Materialized Views sont définies en utilisant PySpark ou Spark SQL et stockées dans un Notebook associé.

Spark Views

Tables logiques définies par une requête SQL. Elles ne stockent pas de données mais fournissent une couche virtuelle pour les requêtes. Les vues sont définies en utilisant Spark SQL et stockées dans Lakehouse à côté des Tables.

Sécurité

Sécurité du plan de contrôle ou accès aux éléments

Les utilisateurs peuvent avoir des rôles d'espace de travail (Admin, Member, Contributor, Viewer) qui fournissent différents niveaux d'accès au Lakehouse et à son contenu. Les utilisateurs peuvent également obtenir une permission d'accès en utilisant les capacités de partage de Lakehouse.

Sécurité des données ou OneLake

Pour l'accès aux données, utilisez le modèle de sécurité OneLake, qui est basé sur Microsoft Entra ID (anciennement Azure Active Directory) et le contrôle d'accès basé sur les rôles (RBAC). Les données Lakehouse sont stockées dans OneLake, donc l'accès aux données est contrôlé via les permissions OneLake. En plus des permissions au niveau des objets, Lakehouse supporte également la sécurité au niveau des colonnes et des lignes pour les tables, permettant un contrôle granulaire sur qui peut voir des colonnes ou lignes spécifiques dans une table.

Raccourcis Lakehouse

Les raccourcis créent des liens virtuels vers les données sans copie :

Types de raccourcis

  • Internes : Lien vers d'autres Lakehouses/tables Fabric, partage de données entre espaces de travail
  • ADLS Gen2 : Lien vers les conteneurs ADLS Gen2 dans Azure
  • Amazon S3 : Buckets AWS S3, accès aux données entre clouds
  • Dataverse : Microsoft Dataverse, données des applications métier
  • Google Cloud Storage : Buckets GCS, accès aux données entre clouds

Optimisation des performances

Optimisation V-Order

Pour une lecture de données plus rapide avec le modèle sémantique, activez l'optimisation V-Order sur les Delta tables. Cela pré-trie les données d'une manière qui améliore la performance des requêtes pour les modèles d'accès courants.

Optimisation des tables

Les tables peuvent également être optimisées en utilisant la commande OPTIMIZE, qui compacte les petits fichiers en fichiers plus grands et peut également appliquer Z-ordering pour améliorer la performance des requêtes sur des colonnes spécifiques. L'optimisation régulière aide à maintenir la performance au fur et à mesure que les données sont ingérées et mises à jour au fil du temps. La commande Vacuum peut être utilisée pour nettoyer les anciens fichiers et libérer de l'espace de stockage, particulièrement après les mises à jour et suppressions.

Traçabilité

L'élément Lakehouse supporte la traçabilité, qui permet aux utilisateurs de suivre l'origine et les transformations des données. Les informations de traçabilité sont automatiquement capturées pour les tables et fichiers dans Lakehouse, montrant comment les données s'écoulent de la source vers la destination. Cela aide au débogage, à l'audit et à la compréhension des dépendances de données.

Exemples de code PySpark

Voir Code PySpark pour les détails.

Obtenir des données dans Lakehouse

Voir Get data pour les détails.

Skills similaires