Partager via


Que sont les schémas lakehouse (préversion) ?

Lakehouse prend en charge la création de schémas personnalisés. Les schémas vous permettent de regrouper vos tables afin d’améliorer la recherche de données, le contrôle d’accès, etc.

Créer un schéma lakehouse

Pour activer la prise en charge des schémas pour votre lakehouse, cochez la case en regard de Schémas lakehouse (préversion publique) lorsque vous le créez.

Capture d’écran montrant la boîte de dialogue Nouveau lakehouse.

Important

Les noms d’espace de travail ne doivent contenir que des caractères alphanumériques en raison des limitations d’aperçu. Si des caractères spéciaux sont utilisés dans les noms d’espace de travail, certaines fonctionnalités de Lakehouse ne fonctionneront pas.

Une fois que vous avez créé le lakehouse, vous trouverez un schéma par défaut nommé dbo sous Tables. Ce schéma est toujours là et ne peut pas être modifié ou supprimé. Pour créer un nouveau schéma, survolez Tables, sélectionnez ..., puis Nouveau schéma. Saisissez le nom de votre schéma et sélectionnez Créer. Vous verrez votre schéma répertorié sous Tables par ordre alphabétique.

Capture d’écran montrant la boîte de dialogue Nouveau schéma lakehouse.

Stocker des tables dans des schémas lakehouse

Pour stocker une table dans un schéma, vous avez besoin d’un nom de schéma. Sinon, le schéma dbo sera utilisé par défaut.

df.write.mode("Overwrite").saveAsTable("contoso.sales")

Vous pouvez utiliser Lakehouse Explorer pour organiser vos tables et glisser-déposer les noms de tables dans différents schémas.

Animation du déplacement de tables entre des schémas.

Attention

Si vous modifiez la table, vous devez également mettre à jour des éléments connexes tels que le code de notebook ou les flux de données pour vous assurer qu’ils sont alignés avec le schéma approprié.

Apporter plusieurs tables avec un raccourci de schéma

Pour référencer plusieurs tables Delta à partir d’un autre lakehouse Fabric ou d’un stockage externe, utilisez le raccourci de schéma qui affiche toutes les tables sous le schéma ou le dossier choisi. Toutes les modifications apportées aux tables dans l’emplacement source apparaissent également dans le schéma. Pour créer un raccourci de schéma, passez la souris sur Tables, sélectionnez ..., puis choisissez Nouveau raccourci de schéma. Sélectionnez ensuite un schéma sur un autre lakehouse ou un dossier avec des tables Delta sur votre stockage externe, comme Azure Data Lake Storage (ADLS) Gen2. Cela crée un schéma avec vos tables référencées.

Capture d’écran montrant le nouveau raccourci de schéma lakehouse.

Accéder aux schémas lakehouse pour la création de rapports Power BI

Pour créer votre modèle sémantique, il vous suffit de choisir les tables que vous souhaitez utiliser. Les tables peuvent se trouver dans différents schémas. Si des tables de différents schémas portent le même nom, des nombres apparaissent à côté des noms de tables dans la vue du modèle.

Schémas lakehouse dans le notebook

Lorsque vous examinez un lakehouse activé pour un schéma dans l’Explorateur d’objets notebook, vous voyez que les tables se trouvent dans des schémas. Vous pouvez faire glisser et déposer une table dans une cellule de code et obtenir un extrait de code qui fait référence au schéma où se trouve la table. Utilisez cet espace de noms pour faire référence aux tables dans votre code : « workspace.lakehouse.schema.table ». Si vous quittez l’un des éléments, l’exécuteur utilise le paramètre par défaut. Par exemple, si vous donnez uniquement un nom de table, il utilise le schéma par défaut (dbo) de lakehouse par défaut pour le notebook.

Important

Si vous souhaitez utiliser des schémas dans votre code, vérifiez que le lakehouse par défaut pour le notebook est activé.

Requêtes Spark SQL entre espaces de travail

Utilisez l’espace de noms « workspace.lakehouse.schema.table » pour faire référence aux tables dans votre code. De cette façon, vous pouvez joindre des tables à partir de différents espaces de travail si l’utilisateur qui exécute le code est autorisé à accéder aux tables.

SELECT * 
    FROM operations.hr.hrm.employees as employees 
    INNER JOIN global.corporate.company.departments as departments
    ON employees.deptno = departments.deptno;

Important

Veillez à joindre des tables uniquement à partir de lakehouses avec des schémas activés. La jonction de tables à partir de lakehouses qui n’ont pas de schémas activés ne fonctionnera pas.

Limitations de la version préliminaire publique

Vous trouverez ci-dessous les fonctionnalités non prises en charge pour la version actuelle de la préversion publique. Elles seront résolues dans les prochaines versions avant la disponibilité générale.

Caractéristiques/fonctionnalités non prises en charge Notes
Lakehouse partagé L’utilisation de l’espace de travail dans l’espace de noms pour les lakehouses partagés ne fonctionnera pas, par exemple wokrkspace.sharedlakehouse.schema.table. L’utilisateur THe doit avoir un rôle d’espace de travail pour utiliser l’espace de travail dans namaspace.
Schéma de table non delta managé L’obtention d’un schéma pour les tables managées et non delta (par exemple, CSV) n’est pas prise en charge. Le développement de ces tables dans Lakehouse Explorer n’affiche aucune information de schéma dans l’expérience utilisateur.
Tables Spark externes Les opérations de table Spark externe (par exemple, la découverte, l’obtention du schéma, etc.) ne sont pas prises en charge. Ces tables ne sont pas identifiées dans l’expérience utilisateur.
API publique Les API publiques (tables de liste, table de chargement, exposition de la propriété étendue defaultSchema, etc.) ne sont pas prises en charge pour le schéma activé Lakehouse. Les API publiques existantes appelées sur un schéma activé lakehouse entraînent une erreur.
Maintenance de table Non pris en charge.
Mettre à jour les propriétés de la table Non pris en charge.
Nom de l’espace de travail contenant des caractères spéciaux L’espace de travail avec des caractères spéciaux (par exemple, des barres obliques) n’est pas pris en charge. Une erreur utilisateur s’affiche.
Vues Spark Non pris en charge.
Masquer des fonctionnalités spécifiques Non pris en charge.
USE <schemaName> Ne fonctionne pas d’un espace de travail à l’autre, mais au sein d’un même espace de travail.
Migration La migration des lakehouses existants non basés sur des schémas vers des lakehouses basés sur des schémas n’est pas prise en charge.