Jaa


NotebookUtils lakehouse utilities

Käytä notebookutils.lakehouse Lakehouse-esineiden ohjelmalliseen hallintaan Fabric-muistikirjoissa. Voit luoda, hankkia, päivittää, poistaa ja listata Lakehouseja suoraan muistikirjan koodista.

Lakehouse-työkalut ovat saatavilla Python-, PySpark-, Scala- ja R-muistikirjoissa. Tämän sivun esimerkeissä käytetään Pythonia ensisijaisena kielenä, ja avainmetodeille on esitetty Scala- ja R-vastineet.

Muistio

Lakehouse-apuohjelmia tuetaan vain Microsoft Fabricissa. Niitä ei ole saatavilla Azure Synapse Analyticsissa.

Näyttääksesi käytettävissä olevat menetelmät ja niiden kuvaukset, kutsu notebookutils.lakehouse.help().

Menetelmien yleiskatsaus

Seuraava taulukko tiivistää käytettävissä olevat menetelmät:

Menetelmä Description Palautukset
create Luo uuden Lakehousen, jossa on valinnainen skeematuki. Artifact objekti, jonka ominaisuudet: id, displayName, description, ja workspaceId.
get Hakee Lakehousen nimeltä. Artifact objekti, jolla on perusmetatieto.
getWithProperties Saa takaisin Lakehousen, jossa on laajennettuja kiinteistöjä. Artifact objekti, jossa on laajennetut metatiedot ja yhteystiedot.
update Päivittää olemassa olevan Lakehouse-nimen tai kuvauksen. Päivitetty Artifact objekti.
delete Poistaa järvenrakennuksen. Boolean. True jos onnistuu; muuten, False.
list Listaa järvitalot työtilassa. Objektien rivistö Artifact .
listTables Listaa pöydät järvimajassa. Objektien rivistö Table .
loadTable Aloittaa lastausoperaation Lakehouse-pöydälle. Boolean. True jos onnistuu; muuten, 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

Kaikki metodit hyväksyvät valinnaisen workspaceId parametrin. Kun operaatio jätetään pois, se kohdistuu nykyiseen työtilaan. Määritä työtilan ID työtilan ylittävää käyttöä varten. Sinulla täytyy olla asianmukaiset oikeudet kohdetyötilassa.

Lakehousen luominen

Käytä notebookutils.lakehouse.create() luodaksesi uuden Lakehousen nykyiseen työtilaan tai määriteltyyn työtilaan. Järvitalojen nimien on oltava ainutlaatuisia työtilassa.

Parametrit

Parametri Tyyppi Pakollinen Description
name merkkijono Kyllä Lakehousen esillä oleva nimi. Sen täytyy olla ainutlaatuinen työtilassa.
description merkkijono Ei Tekstikuvaus Lakehousesta.
definition Objekti Ei Rakenteellinen määritelmäobjekti Lakehouselle. Läpäise {"enableSchemas": True} tai vastaava objektilomake kielellesi, jotta skeematuki voidaan ottaa käyttöön.
workspaceId merkkijono Ei Kohdetyötilan tunnus. Oletuksena nykyinen työtila.

Luo perusjärvitalo

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

Muistio

Välitä definition rakenteellisena objektina muistikirjakielellesi, kuten Python-sanakirjana, Scalana Maptai R-listana.

Luo järvitalo, jossa on skeematuki

Kun otat skeematuen käyttöön, Lakehouse tukee useita skeemoja taulukoiden järjestämiseen. Läpäise {"enableSchemas": True} parametrina definition :

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

Luo järvitalo eri työtilassa

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

Luo Lakehouses -erässä

Voit luoda useita järvitaloja silmukassa, jotta voit luoda ympäristöjä eri tiimeille tai projekteille:

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

Vinkki

Käytä kuvailevia nimiä, jotka heijastavat Lakehousen tarkoitusta, ja harkitse ympäristön erottelun nimikäytäntöjä (kehittäjä, testi, tuotanto).

Hanki järvitalo

Käytetään notebookutils.lakehouse.get() Lakehousen hakemiseen nimellä. Jos jätät nimen pois, NotebookUtils käyttää nykyistä oletus-Lakehousea.

Parametrit

Parametri Tyyppi Pakollinen Description
name merkkijono Ei Järvimajan nimi, joka haetaan. Oletuksena nykyinen järvitalo, kun se jätetään pois.
workspaceId merkkijono Ei Kohdetyötilan tunnus. Oletuksena nykyinen työtila.
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}")

Hanki järvitalo, jossa on laajennettuja kiinteistöjä

Käytä notebookutils.lakehouse.getWithProperties() silloin, kun tarvitset laajennettuja ominaisuuksia perusmetatietojen lisäksi, kuten yhteysmerkkijonoja tai konfiguraatiotietoja:

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

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

Hanki Lakehouse toisesta työtilasta

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

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

Päivitä järvitalo

Käytä notebookutils.lakehouse.update() olemassa olevan järvitalon nimen tai kuvauksen päivittämiseen.

Tärkeää

Lakehousen uudelleennimeäminen voi murtaa alavirran riippuvuuksia, kuten muistikirjoja, putkistoja tai oikoteitä, jotka viittaavat alkuperäiseen nimeen. Sovita uudelleennimetykset tiimisi kanssa ennen niiden hakemista.

Parametrit

Parametri Tyyppi Pakollinen Description
name merkkijono Kyllä Lakehousen nykyinen nimi.
newName merkkijono Kyllä Uusi nimi järvimajalle.
description merkkijono Ei Päivitetty kuvaus.
workspaceId merkkijono Ei Kohdetyötilan tunnus. Oletuksena nykyinen työtila.
updated_artifact = notebookutils.lakehouse.update(
    "old_name",
    "new_name",
    "Updated description",
    "optional_workspace_id"
)

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

Poista järvitalo

Käytä notebookutils.lakehouse.delete() järvimajan pysyvään poistamiseen työtilasta.

Varoitus

Poisto on pysyvää eikä sitä voi peruuttaa. Tarkista Lakehouse-nimi ennen poistamista ja tarkista, onko siihen liittyviä muistikirjoja, putkistoja tai työnkulkuja.

Parametrit

Parametri Tyyppi Pakollinen Description
name merkkijono Kyllä Lakehousen nimi poistettavaksi.
workspaceId merkkijono Ei Kohdetyötilan tunnus. Oletuksena nykyinen työtila.
is_deleted = notebookutils.lakehouse.delete("lakehouse_name", "optional_workspace_id")

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

Listaa Lakehouset

Käytä notebookutils.lakehouse.list() järvitalojen luettelemiseen työtilassa.

Parametrit

Parametri Tyyppi Pakollinen Description
workspaceId merkkijono Ei Kohdetyötilan tunnus. Oletuksena nykyinen työtila.
maxResults Int Ei Maksimimäärä palautettavia esineitä. Oletuksena 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})")

Muistio

Scalassa menetelmä list tukee maxResults samaa kuin muut muistikirjakielet. Käytä esimerkiksi .list(workspaceId, maxResults)

Luettelo taulukoista

Käytetään notebookutils.lakehouse.listTables() kaikkien pöytien listaamiseen Lakehousessa.

Parametrit

Parametri Tyyppi Pakollinen Description
lakehouse merkkijono Ei Järvimajan nimi. Oletuksena nykyinen järvitalo, kun se jätetään pois.
workspaceId merkkijono Ei Kohdetyötilan tunnus. Oletuksena nykyinen työtila.
maxResults Int Ei Maksimimäärä palautettavia esineitä. Oletuksena 1000.
artifacts_tables_list = notebookutils.lakehouse.listTables("lakehouse_name", "optional_workspace_id")

Kuormitustaulukko

Käytetään notebookutils.lakehouse.loadTable() tiedostojen datan lataamiseen Lakehouse-tauluun.

Parametrit

Parametri Tyyppi Pakollinen Description
loadOption Objekti Kyllä Rakenteelliset latausasetukset, jotka määrittelevät tiedostopolun, tilan, muodon ja muut latausasetukset.
table merkkijono Kyllä Kohdetaulukon nimi.
lakehouse merkkijono Ei Järvimajan nimi. Oletuksena nykyinen järvitalo, kun se jätetään pois.
workspaceId merkkijono Ei Kohdetyötilan tunnus. Oletuksena nykyinen työtila.

Objekti loadOption tukee seuraavia avaimia:

Avain Description
relativePath Polku lähdetiedostoon suhteessa Lakehouse-juureen (esim. Files/myFile.csv).
pathType Polun tyyppi. Käytä File yhdelle tiedostolle.
mode Lataustila, kuten Overwrite tai Append.
recursive Asetettu True mukaan tiedostot alikansioihin.
formatOptions Sanakirja, jossa on muotokohtaisia asetuksia kuten format, header, ja delimiter.

Esimerkki:

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