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-anteckningsböcker. Du kan skapa, hämta, uppdatera, radera och lista sjöhus direkt från anteckningsbokkod.
Lakehouse-verktygen finns tillgängliga i Python, PySpark, Scala och R-notebooks. 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-ledningar stöds endast i 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 sjöhus med valfritt schemastöd. |
Artifact objekt med egenskaper: id, displayName, descriptionoch workspaceId. |
get |
Hämtar ett sjöhus med namn. |
Artifact objekt med grundläggande metadata. |
getWithProperties |
Hämtar ett sjöhus med utökade fastigheter. |
Artifact objekt med utökade metadata och anslutningsinformation. |
update |
Uppdaterar ett befintligt namn eller beskrivning av ett sjöhus. | Uppdaterat Artifact objekt. |
delete |
Tar bort ett sjöhus. |
Boolean.
True om det lyckas; annars False. |
list |
Listar sjöhus i en arbetsmiljö. | Matris med Artifact objekt. |
listTables |
Listar bord i ett sjöhus. | Matris med Table objekt. |
loadTable |
Startar en lastningsoperation för ett sjöhusbord. |
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 sjöhus
Använd notebookutils.lakehouse.create() för att skapa ett nytt sjöhus i den aktuella arbetsytan eller en specificerad arbetsyta. Lakehouse-namn måste vara unika i en arbetsyta.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | Ja | Visningsnamn på sjöhuset. Måste vara unik i arbetsytan. |
description |
String | No | En textbeskrivning för sjöhuset. |
definition |
Objekt | No | Strukturerat definitionsobjekt för sjöhuset. 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 sjöhus 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 skapar sjöhus
Du kan skapa flera sjöhus i en loop för att tillhandahålla 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 speglar syftet med sjöhuset. Överväg namngivningskonventioner för miljöseparation, såsom utveckling, test och produktion.
Skaffa ett sjöhus
Använd notebookutils.lakehouse.get() för att hämta ett sjöhus vid namn. Om du utelämnar namnet använder NotebookUtils det nuvarande standardlakehouse.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | No | Namnet på sjöhuset att hämta. Går automatiskt till det nuvarande sjöhuset när 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 sjöhus med utökade fastigheter
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}")
Skaffa ett sjöhus från en annan arbetsplats
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 sjöhus
Använd notebookutils.lakehouse.update() för att uppdatera namnet eller beskrivningen av ett befintligt sjöhus.
Viktigt!
Att byta namn på ett sjöhus kan bryta nedströms beroenden som anteckningsböcker, pipelines eller genvägar som refererar till det ursprungliga namnet. Samordna namnbyten med ditt team innan du tillämpar dem.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | Ja | Nuvarande namn på sjöhuset. |
newName |
String | Ja | Nytt namn på sjöhuset. |
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 sjöhus
Använd notebookutils.lakehouse.delete() för att permanent ta bort ett sjöhus från en arbetsplats.
Försiktighet
Borttagningen är permanent och kan inte ångras. Verifiera namnet på lakehouse innan du tar bort det och kontrollera om det finns beroende anteckningsböcker, pipelines eller arbetsflöden som refererar till det.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
name |
String | Ja | Namnet på sjöhuset ska raderas. |
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 över sjöhus
Använd notebookutils.lakehouse.list() för att räkna upp sjöhus i en arbetsplats.
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änder att notebookutils.lakehouse.listTables() lista alla bord i ett sjöhus.
Parameters
| Parameter | Type | Obligatoriskt | Beskrivning |
|---|---|---|---|
lakehouse |
String | No | Namnet på sjöhuset. Går automatiskt till det nuvarande sjöhuset när 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 ladda 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å sjöhuset. Går automatiskt till det nuvarande sjöhuset när 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 |
Väg till källfilen relativt 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")