Hulpprogramma's voor NotebookUtils Lakehouse

Gebruik notebookutils.lakehouse om Lakehouse-items programmatig te beheren in Fabric-notebooks. U kunt Lakehouses rechtstreeks vanuit notebookcode maken, ophalen, bijwerken, verwijderen en vermelden.

De Lakehouse-hulpprogramma's zijn beschikbaar in Python-, PySpark-, Scala- en R-notebooks. In de voorbeelden op deze pagina wordt Python gebruikt als primaire taal, waarbij Scala- en R-equivalenten worden weergegeven voor belangrijke methoden.

Opmerking

Lakehouse-hulpprogramma's worden alleen ondersteund in Microsoft Fabric. Ze zijn niet beschikbaar in Azure Synapse Analytics.

Als u de beschikbare methoden en de bijbehorende beschrijvingen wilt weergeven, roept u notebookutils.lakehouse.help()aan.

Overzicht van methoden

De volgende tabel bevat een overzicht van de beschikbare methoden:

Methode Beschrijving Retouren
create Hiermee maakt u een nieuw Lakehouse met optionele schemaondersteuning. Artifact object met eigenschappen: id, displayName, descriptionen workspaceId.
get Haalt een Lakehouse op naam op. Artifact object met basismetagegevens.
getWithProperties Haalt een Lakehouse met uitgebreide eigenschappen op. Artifact object met uitgebreide metagegevens en verbindingsgegevens.
update Hiermee wordt een bestaande Lakehouse-naam of -beschrijving bijgewerkt. Het object is bijgewerkt Artifact .
delete Hiermee verwijdert u een Lakehouse. Boolean. True indien geslaagd; anders, False.
list Toont een lijst van Lakehouses in een werkruimte. Matrix van Artifact objecten.
listTables Een lijst met tabellen in een Lakehouse. Matrix van Table objecten.
loadTable Hiermee start u een laadbewerking voor een Lakehouse-tabel. Boolean. True indien geslaagd; anders, 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

Alle methoden accepteren een optionele workspaceId parameter. Wanneer u dit weglaat, is de bewerking gericht op de huidige werkruimte. Geef een werkruimte-id op voor toegang tussen werkruimten. U moet over de juiste machtigingen beschikken in de doelwerkruimte.

Een Lakehouse maken

Gebruik notebookutils.lakehouse.create() om een nieuw Lakehouse in de huidige werkruimte of een gespecificeerde werkruimte te maken. Lakehouse-namen moeten uniek zijn binnen een werkruimte.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje Ja Weergavenaam van lakehouse. Moet uniek zijn binnen de werkruimte.
description Snaar / Touwtje No Een tekstbeschrijving voor het Lakehouse.
definition Object No Gestructureerd definitieobject voor het Lakehouse. Geef {"enableSchemas": True} of het equivalente objectformulier voor uw taal door om schemaondersteuning in te schakelen.
workspaceId Snaar / Touwtje No Doelwerkruimte-id. Standaard ingesteld op de huidige werkruimte.

Een basic Lakehouse maken

artifact = notebookutils.lakehouse.create("lakehouse_name", "Description of the Lakehouse")

Opmerking

Geef definition als een gestructureerd object door voor uw notebooktaal, zoals een Python-woordenlijst, een Scala Mapof een R-lijst.

Een Lakehouse maken met schemaondersteuning

Wanneer u schemaondersteuning inschakelt, ondersteunt Lakehouse meerdere schema's voor het ordenen van tabellen. Geef {"enableSchemas": True} door als de 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}")

Een Lakehouse maken in een andere werkruimte

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}")

Batchgewijs Lakehouses maken

U kunt meerdere Lakehouses in een lus maken om omgevingen in te richten voor verschillende teams of projecten:

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")

Aanbeveling

Gebruik beschrijvende namen die het Lakehouse-doel weerspiegelen en overweeg naamconventies voor omgevingsscheiding (dev, test, prod).

Een Lakehouse verkrijgen

Gebruik notebookutils.lakehouse.get() om een Lakehouse op naam op te halen. Als u de naam weglaat, gebruikt NotebookUtils de huidige standaard Lakehouse.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje No De naam van het Lakehouse dat moet worden opgehaald. Standaard ingesteld op het huidige Lakehouse wanneer u dit weglaat.
workspaceId Snaar / Touwtje No Doelwerkruimte-id. Standaard ingesteld op de huidige werkruimte.
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}")

Een Lakehouse met uitgebreide eigenschappen verkrijgen

Gebruik notebookutils.lakehouse.getWithProperties() deze functie wanneer u uitgebreide eigenschappen nodig hebt buiten de basismetagegevens, zoals verbindingsreeksen of configuratiedetails:

artifact = notebookutils.lakehouse.getWithProperties("lakehouse_name", "optional_workspace_id")

print(f"Lakehouse: {artifact.displayName}")
print(f"Properties: {artifact.properties}")

Een Lakehouse uit een andere werkruimte verkrijgen

workspace_id = "bbbbbbbb-2222-3333-4444-cccccccccccc"
artifact = notebookutils.lakehouse.get("SharedData", workspaceId=workspace_id)

print(f"Retrieved: {artifact.displayName} from workspace {workspace_id}")

Een Lakehouse bijwerken

Gebruik notebookutils.lakehouse.update() deze functie om de naam of beschrijving van een bestaand Lakehouse bij te werken.

Belangrijk

Als u de naam van een Lakehouse wijzigt, kunnen downstreamafhankelijkheden, zoals notebooks, pijplijnen of snelkoppelingen die naar de oorspronkelijke naam verwijzen, worden verbroken. Stem naamswijzigingen met uw team af voordat u deze toepast.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje Ja Huidige naam van het Lakehouse.
newName Snaar / Touwtje Ja Nieuwe naam voor het Lakehouse.
description Snaar / Touwtje No Beschrijving bijgewerkt.
workspaceId Snaar / Touwtje No Doelwerkruimte-id. Standaard ingesteld op de huidige werkruimte.
updated_artifact = notebookutils.lakehouse.update(
    "old_name",
    "new_name",
    "Updated description",
    "optional_workspace_id"
)

print(f"Updated lakehouse: {updated_artifact.displayName}")

Een Lakehouse verwijderen

Gebruik notebookutils.lakehouse.delete() dit om een Lakehouse definitief uit een werkruimte te verwijderen.

Waarschuwing

Verwijderen is permanent en kan niet ongedaan worden gemaakt. Controleer de naam van Lakehouse voordat u deze verwijdert en controleert op afhankelijke notebooks, pijplijnen of werkstromen waarnaar wordt verwezen.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje Ja De naam van het Lakehouse dat u wilt verwijderen.
workspaceId Snaar / Touwtje No Doelwerkruimte-id. Standaard ingesteld op de huidige werkruimte.
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")

if is_deleted:
    print("Lakehouse deleted successfully")
else:
    print("Failed to delete lakehouse")

Lijst van Lakehouses

Gebruik notebookutils.lakehouse.list() om Lakehouses in een werkruimte op te sommen.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
workspaceId Snaar / Touwtje No Doelwerkruimte-id. Standaard ingesteld op de huidige werkruimte.
maxResults Int No Maximum aantal te retourneren items. De standaardwaarde is 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})")

Opmerking

In Scala ondersteunt de list-methode maxResults op dezelfde manier als de andere notebooktalen. Gebruik bijvoorbeeld list(workspaceId, maxResults).

Tabellen weergeven

Gebruik notebookutils.lakehouse.listTables() dit om alle tabellen in een Lakehouse weer te geven.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
lakehouse Snaar / Touwtje No De naam van het Lakehouse. Standaard ingesteld op het huidige Lakehouse wanneer u dit weglaat.
workspaceId Snaar / Touwtje No Doelwerkruimte-id. Standaard ingesteld op de huidige werkruimte.
maxResults Int No Maximum aantal te retourneren items. De standaardwaarde is 1000.
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")

Tabel laden

Gebruik notebookutils.lakehouse.loadTable() dit om gegevens uit bestanden in een Lakehouse-tabel te laden.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
loadOption Object Ja Opties voor gestructureerde belasting waarmee het bestandspad, de modus, de indeling en andere laadinstellingen worden opgegeven.
table Snaar / Touwtje Ja Naam van de doeltabel.
lakehouse Snaar / Touwtje No De naam van het Lakehouse. Standaard ingesteld op het huidige Lakehouse wanneer u dit weglaat.
workspaceId Snaar / Touwtje No Doelwerkruimte-id. Standaard ingesteld op de huidige werkruimte.

Het loadOption object ondersteunt de volgende sleutels:

Key Beschrijving
relativePath Pad naar het bronbestand ten opzichte van de Lakehouse-hoofdmap (bijvoorbeeld Files/myFile.csv).
pathType Padtype Gebruiken File voor één bestand.
mode Laadmodus, zoals Overwrite of Append.
recursive Ingesteld op True het opnemen van bestanden in submappen.
formatOptions Een woordenlijst met indelingsspecifieke instellingen, zoals format, headeren delimiter.

Voorbeeld:

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")