Hulpprogramma's voor NotebookUtils Lakehouse

Gebruik notebookutils.lakehouse om lakehouse-items programmatisch te beheren in Fabric-notitieboeken. Je kunt lakehouses direct aanmaken, ophalen, bijwerken, verwijderen en vermelden vanuit notebookcode.

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-nutsvoorzieningen worden alleen ondersteund in 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 Maakt een nieuw lakehouse aan, met optionele schema-ondersteuning. Artifact object met eigenschappen: id, displayName, descriptionen workspaceId.
get Vindt een huisje aan het meer met de naam. Artifact object met basismetagegevens.
getWithProperties Een meerhuis met uitgebreide eigendommen wordt teruggevonden. Artifact object met uitgebreide metagegevens en verbindingsgegevens.
update Werkt een bestaande naam of beschrijving van een meerhuis bij. Het object is bijgewerkt Artifact .
delete Verwijdert een meerhuis. Boolean. True indien geslaagd; anders, False.
list Vermeldt meerhuizen in een werkruimte. Matrix van Artifact objecten.
listTables Lijst tafels in een meerhuis. Matrix van Table objecten.
loadTable Start een laadoperatie voor een tafelhuis in een meerhuis. 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 meerhuis te maken in de huidige werkruimte of een gespecificeerde werkruimte. Lakehouse-namen moeten uniek zijn binnen een werkruimte.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje Ja Weergavenaam van het meerhuis. Moet uniek zijn binnen de werkruimte.
description Snaar / Touwtje No Een tekstbeschrijving van het meerhuis.
definition Object No Gestructureerde definitie 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.

Maak een lakehouse met schema-ondersteuning

Wanneer je schema-ondersteuning inschakelt, ondersteunt het lakehouse meerdere schema's voor het organiseren 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}")

Batch bouwt merenhuizen

Je kunt meerdere lakehouses in een lus maken om omgevingen voor verschillende teams of projecten te provisioneren:

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 doel van het meerhuis weerspiegelen. Overweeg naamgevingsconventies voor omgevingsseparatie, zoals dev, test en prod.

Neem een huisje aan het meer.

Gebruik notebookutils.lakehouse.get() het om een meerhuis bij naam op te halen. Als je de naam weglaat, gebruikt NotebookUtils de huidige standaard lakehouse.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje No Naam van het meerhuis dat je moet ophalen. Standaard verschijnt het huidige meerhuis als het weggelaten is.
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}")

Neem een huis aan het meer met uitgebreide woningen

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

Haal een meerhuis van een andere werkplek

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() om de naam of beschrijving van een bestaand meerhuis bij te werken.

Belangrijk

Het hernoemen van een lakehouse kan afhankelijkheden van downstream doorbreken, zoals notitieboeken, pijpleidingen of snelkoppelingen die naar de oorspronkelijke naam verwijzen. Stem naamswijzigingen met uw team af voordat u deze toepast.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje Ja De huidige naam van het meerhuis.
newName Snaar / Touwtje Ja Nieuwe naam voor het meerhuis.
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() het om een huis aan het meer permanent van een werkplek te verwijderen.

Waarschuwing

Verwijderen is permanent en kan niet ongedaan worden gemaakt. Controleer de naam van het lakehouse voordat je het verwijdert en controleer op afhankelijke notitieboeken, pipelines of workflows die ernaar verwijzen.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
name Snaar / Touwtje Ja Naam van het meerhuis om te 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 meerhuizen

Gebruik notebookutils.lakehouse.list() om meerhuizen 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

Vroeger notebookutils.lakehouse.listTables() werden alle tafels in een huis aan het meer vermeld.

Parameterwaarden

Kenmerk Typ Verplicht Beschrijving
lakehouse Snaar / Touwtje No Naam van het meerhuis. Standaard verschijnt het huidige meerhuis als het weggelaten is.
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() om data 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 Naam van het meerhuis. Standaard verschijnt het huidige meerhuis als het weggelaten is.
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 wortel van het lakehouse (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")