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.
Utilisez notebookutils.lakehouse pour gérer les éléments Lakehouse par programmation dans les notebooks Fabric. Vous pouvez créer, obtenir, mettre à jour, supprimer et répertorier les Lakehouses directement à partir du code du notebook.
Les utilitaires Lakehouse sont disponibles dans les notebooks Python, PySpark, Scala et R. Les exemples de cette page utilisent Python comme langage principal, avec des équivalents Scala et R indiqués pour les méthodes clés.
Note
Les utilitaires Lakehouse ne sont pris en charge que dans Microsoft Fabric. Ils ne sont pas disponibles dans Azure Synapse Analytics.
Pour afficher les méthodes disponibles et leurs descriptions, appelez notebookutils.lakehouse.help().
Vue d’ensemble des méthodes
Le tableau suivant récapitule les méthodes disponibles :
| Méthode | Description | Retours |
|---|---|---|
create |
Crée un nouveau lakehouse avec un support facultatif du schéma. |
Artifactobjet avec des propriétés : id, , displayNamedescription, et workspaceId. |
get |
Récupère un Lakehouse par son nom. |
Artifact objet avec des métadonnées de base. |
getWithProperties |
Récupère un Lakehouse avec des propriétés supplémentaires. |
Artifact objet avec des métadonnées étendues et des détails de connexion. |
update |
Met à jour le nom ou la description existants d'un "Lakehouse". | Objet mis à jour Artifact. |
delete |
Supprime un Lakehouse. |
Boolean.
True en cas de réussite ; sinon, False. |
list |
Répertorie les lakehouses dans un espace de travail. | Tableau d’objets Artifact. |
listTables |
Répertorie les tables dans un entrepôt de données Lakehouse. | Tableau d’objets Table. |
loadTable |
Démarre une opération de chargement pour une table Lakehouse. |
Boolean.
True en cas de réussite ; sinon, False. |
# Method signatures
notebookutils.lakehouse.create(name: String, description: String = "", definition: Object = {}, workspaceId: String = ""): Artifact
notebookutils.lakehouse.get(name: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.getWithProperties(name: String, workspaceId: String = ""): Artifact
notebookutils.lakehouse.update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact
notebookutils.lakehouse.delete(name: String, workspaceId: String = ""): Boolean
notebookutils.lakehouse.list(workspaceId: String = "", maxResults: Int = 1000): Array[Artifact]
notebookutils.lakehouse.listTables(lakehouse: String = "", workspaceId: String = "", maxResults: Int = 1000): Array[Table]
notebookutils.lakehouse.loadTable(loadOption: Object, table: String, lakehouse: String = "", workspaceId: String = ""): Boolean
Toutes les méthodes acceptent un paramètre facultatif workspaceId . En cas d’omission, l’opération cible l’espace de travail actuel. Spécifiez un ID d’espace de travail pour l’accès inter-espaces de travail. Vous devez disposer d’autorisations appropriées dans l’espace de travail cible.
Créer un Lakehouse
Utilisez notebookutils.lakehouse.create() pour créer un Lakehouse dans l’espace de travail actuel ou un espace de travail spécifié. Les noms lakehouse doivent être uniques dans un espace de travail.
Paramètres
| Paramètre | Catégorie | Obligatoire | Description |
|---|---|---|---|
name |
Chaîne | Oui | Nom complet du Lakehouse. Doit être unique dans l’espace de travail. |
description |
Chaîne | Non | Description textuelle du Lakehouse. |
definition |
Object | Non | Objet de définition structurée pour lakehouse. Transmettez {"enableSchemas": True} ou l'équivalent objet de votre langue pour activer la prise en charge du schéma. |
workspaceId |
Chaîne | Non | ID de l’espace de travail cible. Valeur par défaut de l’espace de travail actuel. |
Créer un Lakehouse de base
artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")
Note
Passez definition en tant qu’objet structuré pour votre langage de notebook, tel qu’un dictionnaire Python, un Scala Map, ou une liste R.
Créer un Lakehouse avec prise en charge du schéma
Lorsque vous activez la prise en charge du schéma, Lakehouse prend en charge plusieurs schémas pour organiser des tables. Passer {"enableSchemas": True} comme paramètredefinition
artifact = notebookutils.lakehouse.create(
"SalesAnalyticsWithSchema",
"Lakehouse with schema support for multi-tenant data",
{"enableSchemas": True}
)
print(f"Created lakehouse with schema support: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
Créer un Lakehouse dans un autre espace de travail
workspace_id = "aaaaaaaa-1111-2222-3333-bbbbbbbbbbbb"
artifact = notebookutils.lakehouse.create(
name="SharedAnalytics",
description="Shared analytics lakehouse",
workspaceId=workspace_id
)
print(f"Created lakehouse in workspace: {workspace_id}")
Créer en lot des entrepôts de données
Vous pouvez créer plusieurs Lakehouses dans une boucle pour approvisionner des environnements pour différentes équipes ou projets :
departments = ["Sales", "Marketing", "Finance", "Operations"]
created_lakehouses = []
for dept in departments:
lakehouse = notebookutils.lakehouse.create(
name=f"{dept}Analytics",
description=f"Analytics lakehouse for {dept} department"
)
created_lakehouses.append(lakehouse)
print(f"Created: {lakehouse.displayName}")
print(f"Created {len(created_lakehouses)} lakehouses")
Conseil / Astuce
Utilisez des noms descriptifs qui reflètent l’objectif de Lakehouse et envisagez des conventions d’affectation de noms pour la séparation de l’environnement (développement, test, prod).
Obtenez un Lakehouse
Utilisez notebookutils.lakehouse.get() pour récupérer un Lakehouse par son nom. Si vous omettez le nom, NotebookUtils utilise le Lakehouse actuel.
Paramètres
| Paramètre | Catégorie | Obligatoire | Description |
|---|---|---|---|
name |
Chaîne | Non | Nom du Lakehouse à récupérer. Par défaut, le lac Lakehouse actuel est utilisé lorsque cela est omis. |
workspaceId |
Chaîne | Non | ID de l’espace de travail cible. Valeur par défaut de l’espace de travail actuel. |
artifact = notebookutils.lakehouse.get("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse Name: {artifact.displayName}")
print(f"Lakehouse ID: {artifact.id}")
print(f"Workspace ID: {artifact.workspaceId}")
Obtenez un Lakehouse avec des propriétés étendues
Utilisez notebookutils.lakehouse.getWithProperties() quand vous avez besoin de propriétés étendues au-delà des métadonnées de base, telles que les chaînes de connexion ou les détails de configuration :
artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")
Obtenir un Lakehouse à partir d’un autre espace de travail
workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)
print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")
Mettre à jour un Lakehouse
Utilisez notebookutils.lakehouse.update() pour mettre à jour le nom ou la description d’un Lakehouse existant.
Important
Renommer un Lakehouse peut rompre les dépendances en aval qui reposent sur le nom initial, telles que les notebooks, les pipelines ou les raccourcis. Coordonnez les renommages avec votre équipe avant de les appliquer.
Paramètres
| Paramètre | Catégorie | Obligatoire | Description |
|---|---|---|---|
name |
Chaîne | Oui | Nom actuel du Lakehouse. |
newName |
Chaîne | Oui | Nouveau nom pour le Lakehouse. |
description |
Chaîne | Non | Description mise à jour. |
workspaceId |
Chaîne | Non | ID de l’espace de travail cible. Valeur par défaut de l’espace de travail actuel. |
updated_artifact = notebookutils.lakehouse.update(
"old_name",
"new_name",
"Updated description",
"optional_workspace_id"
)
print(f"Updated lakehouse: {updated_artifact.displayName}")
Supprimer un Lakehouse
Utilisez notebookutils.lakehouse.delete() pour supprimer définitivement un Lakehouse d’un espace de travail.
Avertissement
La suppression est permanente et ne peut pas être annulée. Vérifiez le nom de Lakehouse avant de supprimer et de vérifier les blocs-notes dépendants, les pipelines ou les flux de travail qui le référencent.
Paramètres
| Paramètre | Catégorie | Obligatoire | Description |
|---|---|---|---|
name |
Chaîne | Oui | Nom du Lakehouse à supprimer. |
workspaceId |
Chaîne | Non | ID de l’espace de travail cible. Valeur par défaut de l’espace de travail actuel. |
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")
if is_deleted:
print("Lakehouse deleted successfully")
else:
print("Failed to delete lakehouse")
Répertorier les lakehouses
Utilisez notebookutils.lakehouse.list() pour énumérer les Lakehouses dans un espace de travail.
Paramètres
| Paramètre | Catégorie | Obligatoire | Description |
|---|---|---|---|
workspaceId |
Chaîne | Non | ID de l’espace de travail cible. Valeur par défaut de l’espace de travail actuel. |
maxResults |
int | Non | Nombre maximal d’éléments à retourner. Par défaut, la valeur est 1000. |
artifacts_list = notebookutils.lakehouse.list("optional_workspace_id")
print(f"Found {len(artifacts_list)} lakehouses:")
for lh in artifacts_list:
print(f" - {lh.displayName} (ID: {lh.id})")
Note
Dans Scala, list prend en charge maxResults de la même façon que les autres langages de notebook. Par exemple, utilisez list(workspaceId, maxResults).
Lister des tables
Utilisez notebookutils.lakehouse.listTables() pour répertorier toutes les tables d’un Lakehouse.
Paramètres
| Paramètre | Catégorie | Obligatoire | Description |
|---|---|---|---|
lakehouse |
Chaîne | Non | Nom du Lakehouse. Par défaut, le lac Lakehouse actuel est utilisé lorsque cela est omis. |
workspaceId |
Chaîne | Non | ID de l’espace de travail cible. Valeur par défaut de l’espace de travail actuel. |
maxResults |
int | Non | Nombre maximal d’éléments à retourner. Par défaut, la valeur est 1000. |
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")
Charger la table
Permet notebookutils.lakehouse.loadTable() de charger des données à partir de fichiers dans une table Lakehouse.
Paramètres
| Paramètre | Catégorie | Obligatoire | Description |
|---|---|---|---|
loadOption |
Object | Oui | Options de chargement structurées qui spécifient le chemin d’accès du fichier, le mode, le format et d’autres paramètres de chargement. |
table |
Chaîne | Oui | Nom de la table cible. |
lakehouse |
Chaîne | Non | Nom du Lakehouse. Par défaut, le lac Lakehouse actuel est utilisé lorsque cela est omis. |
workspaceId |
Chaîne | Non | ID de l’espace de travail cible. Valeur par défaut de l’espace de travail actuel. |
L’objet loadOption prend en charge les clés suivantes :
| Clé | Description |
|---|---|
relativePath |
Chemin d’accès au fichier source par rapport à la racine Lakehouse (par exemple, Files/myFile.csv). |
pathType |
Type de chemin d’accès. Utiliser File pour un seul fichier. |
mode |
Mode de charge, tel que Overwrite ou Append. |
recursive |
Définissez True pour inclure les fichiers dans les sous-dossiers. |
formatOptions |
Dictionnaire avec des paramètres spécifiques au format tels que format, headeret delimiter. |
Exemple :
result = notebookutils.lakehouse.loadTable(
{
"relativePath": "Files/myFile.csv",
"pathType": "File",
"mode": "Overwrite",
"recursive": False,
"formatOptions": {
"format": "Csv",
"header": True,
"delimiter": ","
}
}, "table_name", "lakehouse_name", "optional_workspace_id")
if result:
print("Table loaded successfully")
else:
print("Table load failed")