NotebookUtils lakehouse utilities

Käytä notebookutils.lakehouse lakehouse-esineiden ohjelmalliseen hallintaan Fabric-muistikirjoissa. Voit luoda, saada, päivittää, poistaa ja listata järventaloja 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-sähköt ovat tuettuja vain Fabric-laitteessa. 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 järvenrakennuksen, jossa on valinnainen skeematuki. Artifact objekti, jonka ominaisuudet: id, displayName, description, ja workspaceId.
get Hakee järvimajan nimeltä. Artifact objekti, jolla on perusmetatieto.
getWithProperties Saa takaisin järvimajan laajennetuilla kiinteistöillä. Artifact objekti, jossa on laajennetut metatiedot ja yhteystiedot.
update Päivittää olemassa olevan järvimajan nimen tai kuvauksen. Päivitetty Artifact objekti.
delete Poistaa järvenmajan. Boolean. True jos onnistuu; muuten, False.
list Listaa järvirakennukset työtilassa. Objektien rivistö Artifact .
listTables Listaa pöydät järvenmökissä. Objektien rivistö Table .
loadTable Aloittaa lastausoperaation järvenrakennuspö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.

Luo lakehouse

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

Parametrit

Parametri Tyyppi Pakollinen Description
name merkkijono Kyllä Järvimajan näyttönimi. Sen täytyy olla ainutlaatuinen työtilassa.
description merkkijono Ei Tekstikuvaus järvimajasta.
definition Objekti Ei Rakenteellinen määritelmäobjekti järvimajalle. 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 skeematuella

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

Erä luo järvimajat

Voit luoda useita järvitaloja silmukassa tarjotaksesi 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 järvenrakennuksen tarkoitusta. Harkitse ympäristön erottelun nimikäytäntöjä, kuten dev, test ja prod.

Hanki järvimajoitus

Käytetään notebookutils.lakehouse.get() järvimajon hakemiseen nimeltä. Jos jätät nimen pois, NotebookUtils käyttää nykyistä oletusjärvitaloa.

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 laajennetut kiinteistöt

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 järvimajja 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}")

Lakehousen päivittäminen

Käytä notebookutils.lakehouse.update() nykyisen järvimajan nimen tai kuvauksen päivittämiseen.

Tärkeää

Järvenrakennuksen 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ä Järvimajon 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}")

Lakehousen poistaminen

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

Varoitus

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

Parametrit

Parametri Tyyppi Pakollinen Description
name merkkijono Kyllä Järvimajan 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")

Luettelo järvimajoista

Käytä notebookutils.lakehouse.list() järvimajojen 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äytä notebookutils.lakehouse.listTables() kaikkien pöytien listaamiseen järvenmajassa.

Parametrit

Parametri Tyyppi Pakollinen Description
lakehouse merkkijono Ei Järvenmökin 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 järventalotauluun.

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ärvenmökin 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 järvenrakennuksen 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")