Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Använd notebookutils.lakehouse för att hantera Lakehouse-objekt programmatiskt i Fabric Notebooks. Du kan skapa, hämta, uppdatera, ta bort och lista Lakehouses direkt från notebook-kod.
Lakehouse-verktyg finns tillgängliga i Python-, PySpark-, Scala- och R-anteckningsböcker. Exemplen på den här sidan använder Python som primärt språk, med Scala- och R-motsvarigheter som visas för nyckelmetoder.
Anmärkning
Lakehouse-verktyg stöds endast i Microsoft Fabric. De är inte tillgängliga i Azure Synapse Analytics.
Om du vill visa tillgängliga metoder och deras beskrivningar anropar du notebookutils.lakehouse.help().
Översikt över metoder
I följande tabell sammanfattas de tillgängliga metoderna:
| Metod | Beskrivning | Retur |
|---|---|---|
create |
Skapar ett nytt Lakehouse med valfritt schemastöd. |
Artifact objekt med egenskaper: id, displayName, descriptionoch workspaceId. |
get |
Hämtar ett Lakehouse utifrån dess namn. |
Artifact objekt med grundläggande metadata. |
getWithProperties |
Hämtar ett Lakehouse med utökade egenskaper. |
Artifact objekt med utökade metadata och anslutningsinformation. |
update |
Uppdaterar ett befintligt Lakehouse-namn eller en beskrivning. | Uppdaterat Artifact objekt. |
delete |
Tar bort ett Lakehouse. |
Boolean.
True om det lyckas; annars False. |
list |
Listar Lakehouses på en arbetsyta. | Matris med Artifact objekt. |
listTables |
Visar tabeller i ett Lakehouse. | Matris med Table objekt. |
loadTable |
Startar en laddningsoperation för en Lakehouse-tabell. |
Boolean.
True om det lyckas; annars 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
Alla metoder accepterar en valfri workspaceId parameter. När åtgärden utelämnas riktas den mot den aktuella arbetsytan. Ange ett arbetsyte-ID för åtkomst mellan arbetsytor. Du måste ha rätt behörigheter på målarbetsytan.
Skapa ett Lakehouse
Använd notebookutils.lakehouse.create() för att skapa en ny Lakehouse på den aktuella arbetsytan eller en angiven arbetsyta. Lakehouse-namn måste vara unika i en arbetsyta.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | Ja | Visningsnamn för Lakehouse. Måste vara unik i arbetsytan. |
description |
String | No | En textbeskrivning för Lakehouse. |
definition |
Objekt | No | Strukturerat definitionsobjekt för Lakehouse. Skicka {"enableSchemas": True} eller motsvarande objektformulär för ditt språk för att aktivera schemastöd. |
workspaceId |
String | No | Målarbetsytans ID. Ställs in på den aktuella arbetsytan som standard. |
Skapa ett grundläggande Lakehouse
artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")
Anmärkning
Skicka definition som ett strukturerat objekt för ditt notebook-språk, till exempel en Python-ordlista, en Scala Mapeller en R-lista.
Skapa ett Lakehouse med schemastöd
När du aktiverar schemastöd stöder Lakehouse flera scheman för att organisera tabeller. Skicka {"enableSchemas": True} som definition-parameter:
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}")
Skapa ett Lakehouse på en annan arbetsyta
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}")
Batch skapa Lakehouses
Du kan skapa flera Lakehouses i en loop för att etablera miljöer för olika team eller projekt:
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")
Tips/Råd
Använd beskrivande namn som återspeglar Lakehouse-syftet och överväg namngivningskonventioner för miljöavgränsning (utveckling, testning, prod).
Skaffa ett Lakehouse
Använd notebookutils.lakehouse.get() för att hämta ett Lakehouse med namn. Om du utelämnar namnet använder NotebookUtils det aktuella standard-Lakehouse.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | No | Namnet på Lakehouse som ska hämtas. Används som standard för det aktuella Lakehouse om det utelämnas. |
workspaceId |
String | No | Målarbetsytans ID. Ställs in på den aktuella arbetsytan som standard. |
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}")
Skaffa ett Lakehouse med utökade egenskaper
Använd notebookutils.lakehouse.getWithProperties() när du behöver utökade egenskaper utöver grundläggande metadata, till exempel anslutningssträngar eller konfigurationsinformation:
artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")
print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")
Hämta ett Lakehouse från en annan arbetsyta
workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)
print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")
Uppdatera ett Lakehouse
Använd notebookutils.lakehouse.update() för att uppdatera namnet eller beskrivningen av ett befintligt Lakehouse.
Viktigt!
Att byta namn på ett Lakehouse kan bryta nedströmsberoenden, till exempel anteckningsböcker, pipelines eller genvägar som refererar till det ursprungliga Lakehouse-namnet. Samordna namnbyten med ditt team innan du tillämpar dem.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | Ja | Aktuellt namn på Lakehouse. |
newName |
String | Ja | Nytt namn på Lakehouse. |
description |
String | No | Uppdaterad beskrivning. |
workspaceId |
String | No | Målarbetsytans ID. Ställs in på den aktuella arbetsytan som standard. |
updated_artifact = notebookutils.lakehouse.update(
"old_name",
"new_name",
"Updated description",
"optional_workspace_id"
)
print(f"Updated lakehouse: {updated_artifact.displayName}")
Ta bort ett Lakehouse
Använd notebookutils.lakehouse.delete() för att permanent ta bort en Lakehouse från en arbetsyta.
Försiktighet
Borttagningen är permanent och kan inte ångras. Kontrollera Lakehouse-namnet innan du tar bort och sök efter beroende notebook-filer, pipelines eller arbetsflöden som refererar till det.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | Ja | Namnet på lakehouse som ska tas bort. |
workspaceId |
String | No | Målarbetsytans ID. Ställs in på den aktuella arbetsytan som standard. |
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")
if is_deleted:
print("Lakehouse deleted successfully")
else:
print("Failed to delete lakehouse")
Lista sjöstugor
Använd notebookutils.lakehouse.list() för att räkna upp Lakehouses på en arbetsyta.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
workspaceId |
String | No | Målarbetsytans ID. Ställs in på den aktuella arbetsytan som standard. |
maxResults |
Int | No | Maximalt antal objekt som ska returneras. Standardinställningen är 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})")
Anmärkning
I Scala stöder metoden list på samma sätt som de andra språken i notebook maxResults. Använd till exempel list(workspaceId, maxResults).
Lista tabeller
Använd notebookutils.lakehouse.listTables() för att lista alla tabeller i ett Lakehouse.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
lakehouse |
String | No | Namnet på Lakehouse. Används som standard för det aktuella Lakehouse om det utelämnas. |
workspaceId |
String | No | Målarbetsytans ID. Ställs in på den aktuella arbetsytan som standard. |
maxResults |
Int | No | Maximalt antal objekt som ska returneras. Standardinställningen är 1000. |
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")
Ladda tabell
Använd notebookutils.lakehouse.loadTable() för att läsa in data från filer till en Lakehouse-tabell.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
loadOption |
Objekt | Ja | Strukturerade inläsningsalternativ som anger filsökväg, läge, format och andra inläsningsinställningar. |
table |
String | Ja | Namn på måltabellen. |
lakehouse |
String | No | Namnet på Lakehouse. Används som standard för det aktuella Lakehouse om det utelämnas. |
workspaceId |
String | No | Målarbetsytans ID. Ställs in på den aktuella arbetsytan som standard. |
Objektet loadOption stöder följande nycklar:
| Nyckel | Beskrivning |
|---|---|
relativePath |
Sökväg till källfilen i förhållande till Lakehouse-roten (till exempel Files/myFile.csv). |
pathType |
Typ av sökväg. Använd File för en enda fil. |
mode |
Inläsningsläge, till exempel Overwrite eller Append. |
recursive |
Ange True för att inkludera filer i undermappar. |
formatOptions |
En ordlista med formatspecifika inställningar som format, headeroch delimiter. |
Ett exempel:
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")