Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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 du schéma pour votre lakehouse, assurez-vous que la case à côté de des schémas Lakehouse est cochée lors de sa création.
Note
Si vous préférez créer un lakehouse sans support de schéma, vous pouvez décocher la case.
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 voyez votre schéma répertorié sous Tables par ordre alphabétique.
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.
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.
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 compatible avec les schémas ou qu’il n’y a pas de lakehouse par défaut sélectionné.
Requêtes Spark SQL entre espaces de travail
Utilisez l’espace de noms « workspace.lakehouse.schema.table » pour faire référence aux tables de 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;
Référencer des lakehouses sans schéma
Lorsque vous définissez un lakehouse activé par schéma ou sans lakehouse comme valeur par défaut dans votre bloc-notes, le code Spark utilise le référencement basé sur le schéma pour les tables. Toutefois, vous pouvez toujours accéder aux lakehouses sans schémas activés dans le même code en les référençant comme « lakehouse.table ».
En outre, il est possible d'associer des tables provenant de différents types d'entrepôts de données lacustres.
SELECT *
FROM workspace.schemalh.schema.table as schematable
INNER JOIN workspace.nonschemalh.table as nonschematable
ON schematable.id = nonschematable.id;
Pour faciliter la transition et la refactorisation du code existant vers des lakehouses prenant en charge les schémas, le nommage en quatre parties est pris en charge pour les lakehouses sans schémas. Vous pouvez référencer des tables en tant que « workspace.lakehouse.dbo.table », où « dbo » sert de nom de schéma, même s’il n'est pas encore pris en charge dans un lakehouse qui n'est pas compatible avec les schémas. Cette approche vous permet de mettre à jour votre code sans temps d’arrêt avant d’activer la prise en charge du schéma dans vos lakehouses.
API pour les schémas lakehouse
Pour créer un lakehouse avec des schémas, utilisez l’API REST Create Lakehouse - et spécifiez « enableSchemas » : true dans la requête creationPayload. Pour répertorier des tables, des schémas ou obtenir des détails de table, utilisez les API de table OneLake pour Delta.
Activation des schémas pour les lakehouses existants
Nous continuons à prendre en charge les lakehouses sans schéma et nous travaillons à atteindre une parité complète des fonctionnalités entre les deux modèles. L’interopérabilité complète dans Spark est également prise en charge, ce qui permet d’interroger et de joindre différents types de lakehouses. Bientôt, nous présenterons des outils pour aider les clients à passer de lakehouses sans schéma à des versions avec schéma, ce qui vous permet de bénéficier de fonctionnalités améliorées sans avoir à déplacer de données ou à subir un arrêt.
Limitations actuelles
Il existe encore des limitations avec les lakehouses avec schéma dans Spark qui sont actuellement déployées dans les prochains mois.
| Caractéristiques/fonctionnalités non prises en charge | Contournement |
|---|---|
| Vues Spark | Utilisez les vues du lac Materizlized. |
| Lakehouse partagé | Créez des raccourcis dans un lakehouse avec le rôle d’espace de travail pour partager des tables lakehouse et accédez-y via les raccourcis. |
| Tables ADLS externes | Utilisez les raccourcis OneLake. |
| Liaisons privées | Utilisez des lakehouses sans schéma. |
| Protection du trafic sortant | Utilisez des lakehouses sans schéma. |