Jaa


Microsoft Spark Utilities (MSSparkUtils) for Fabric

Microsoft Spark -apuohjelmat (MSSparkUtils) on sisäinen paketti, jonka avulla voit helposti suorittaa yleisiä tehtäviä. MSSparkUtilsin avulla voit käsitellä tiedostojärjestelmiä, saada ympäristömuuttujia, ketjuttaa muistikirjoja yhteen ja käsitellä salaisia salaisuustietoja. MSSparkUtils-paketti on saatavilla PySpark (Python) Scala-, SparkR-muistikirja- ja Fabric-putkissa.

Muistiinpano

  • MsSparkUtils on virallisesti nimetty uudelleen NotebookUtils-nimeksi. Olemassa oleva koodi pysyy yhteensopivana taaksepäin eikä aiheuta rikkovia muutoksia. On erittäin suositeltavaa päivittää muistikirjaapukirjoihin jatkuvan tuen ja uusien ominaisuuksien käytön varmistamiseksi. Mssparkutils-nimitila poistetaan käytöstä tulevaisuudessa.
  • NotebookUtils on suunniteltu toimimaan spark 3.4(Runtime v1.2) ja sitä uudemmat versiot. Kaikkia uusia ominaisuuksia ja päivityksiä tuetaan vain niin, että notebookutils-nimitila jatkuu eteenpäin.

Tiedostojärjestelmäapuohjelmat

mssparkutils.fs tarjoaa apuohjelmia erilaisissa tiedostojärjestelmissä, kuten Azure Data Lake Storage (ADLS) Gen2:ssa ja Azure Blob -säilössä. Varmista, että määrität Azure Data Lake Storage Gen2: n ja Azure Blob -säilön käyttöoikeudet asianmukaisesti.

Suorita seuraavat komennot, jotta saat yleiskatsauksen käytettävissä olevista menetelmistä:

from notebookutils import mssparkutils
mssparkutils.fs.help()

Tuloste

mssparkutils.fs provides utilities for working with various FileSystems.

Below is overview about the available methods:

cp(from: String, to: String, recurse: Boolean = false): Boolean -> Copies a file or directory, possibly across FileSystems
mv(from: String, to: String, recurse: Boolean = false): Boolean -> Moves a file or directory, possibly across FileSystems
ls(dir: String): Array -> Lists the contents of a directory
mkdirs(dir: String): Boolean -> Creates the given directory if it does not exist, also creating any necessary parent directories
put(file: String, contents: String, overwrite: Boolean = false): Boolean -> Writes the given String out to a file, encoded in UTF-8
head(file: String, maxBytes: int = 1024 * 100): String -> Returns up to the first 'maxBytes' bytes of the given file as a String encoded in UTF-8
append(file: String, content: String, createFileIfNotExists: Boolean): Boolean -> Append the content to a file
rm(dir: String, recurse: Boolean = false): Boolean -> Removes a file or directory
exists(file: String): Boolean -> Check if a file or directory exists
mount(source: String, mountPoint: String, extraConfigs: Map[String, Any]): Boolean -> Mounts the given remote storage directory at the given mount point
unmount(mountPoint: String): Boolean -> Deletes a mount point
mounts(): Array[MountPointInfo] -> Show information about what is mounted
getMountPath(mountPoint: String, scope: String = ""): String -> Gets the local path of the mount point

Use mssparkutils.fs.help("methodName") for more info about a method.

MSSparkUtils toimii tiedostojärjestelmän kanssa samalla tavalla kuin Spark-ohjelmointirajapinnat. Otetaan esimerkiksi mssparkuitls.fs.mkdirs() ja Fabric lakehouse -käyttö:

Käyttö Suhteellinen polku HDFS-pääkansiosta ABFS-tiedostojärjestelmän absoluuttinen polku Paikallisen tiedostojärjestelmän absoluuttinen polku ohjainsolmussa
Nondefault Lakehouse Ei tueta mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/>< new_dir>") mssparkutils.fs.mkdirs("file:/<new_dir>")
Oletus lakehouse Hakemisto kohdassa "Tiedostot" tai "Taulukot": mssparkutils.fs.mkdirs("Files/<new_dir>") mssparkutils.fs.mkdirs("abfss://< container_name>@<storage_account_name.dfs.core.windows.net/>< new_dir>") mssparkutils.fs.mkdirs("file:/<new_dir>")

Luettele tiedostot

Voit luetella hakemiston sisällön mssparkutils.fs.ls('Hakemistopolkusi'). Esimerkkejä:

mssparkutils.fs.ls("Files/tmp") # works with the default lakehouse files using relative path 
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<path>")  # based on ABFS file system 
mssparkutils.fs.ls("file:/tmp")  # based on local file system of driver node 

Näytä tiedoston ominaisuudet

Tämä menetelmä palauttaa tiedoston ominaisuudet, kuten tiedoston nimen, tiedostopolun, tiedostokoon ja sen, onko kyseessä hakemisto ja tiedosto.

files = mssparkutils.fs.ls('Your directory path')
for file in files:
    print(file.name, file.isDir, file.isFile, file.path, file.size)

Luo uusi hakemisto

Tämä menetelmä luo annetun hakemiston, jos sitä ei ole, ja luo tarvittavat päähakemistot.

mssparkutils.fs.mkdirs('new directory name')  
mssparkutils.fs. mkdirs("Files/<new_dir>")  # works with the default lakehouse files using relative path 
mssparkutils.fs.ls("abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<new_dir>")  # based on ABFS file system 
mssparkutils.fs.ls("file:/<new_dir>")  # based on local file system of driver node 

Tiedoston kopiointi

Tämä menetelmä kopioi tiedoston tai hakemiston ja tukee kopiointitoimintoja tiedostojärjestelmien välillä.

mssparkutils.fs.cp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively

Suorita kopiotiedosto

Tämä menetelmä tarjoaa nopeamman tavan kopioida tai siirtää tiedostoja, erityisesti suuria tietomääriä.

mssparkutils.fs.fastcp('source file or directory', 'destination file or directory', True)# Set the third parameter as True to copy all files and directories recursively

Esikatselutiedoston sisältö

Tämä menetelmä palauttaa enintään annetun tiedoston ensimmäiset maxBytes-tavut merkkijonona, joka on KOODattu UTF-8:ssa.

mssparkutils.fs.head('file path', maxBytes to read)

Tiedoston siirtäminen

Tämä menetelmä siirtää tiedoston tai hakemiston ja tukee siirtoja tiedostojärjestelmien välillä.

mssparkutils.fs.mv('source file or directory', 'destination directory', True) # Set the last parameter as True to firstly create the parent directory if it does not exist
mssparkutils.fs.mv('source file or directory', 'destination directory', True, True) # Set the third parameter to True to firstly create the parent directory if it does not exist. Set the last parameter to True to overwrite the updates.

Kirjoita tiedosto

Tämä menetelmä kirjoittaa annetun merkkijonon tiedostoon, joka on UTF-8-koodattu.

mssparkutils.fs.put("file path", "content to write", True) # Set the last parameter as True to overwrite the file if it existed already

Sisällön liilisääminen tiedostoon

Tämä menetelmä liittää annetun merkkijonon tiedostoon, joka on UTF-8-koodattu.

mssparkutils.fs.append("file path", "content to append", True) # Set the last parameter as True to create the file if it does not exist

Muistiinpano

Kun käytät mssparkutils.fs.append -ohjelmointirajapintaa for silmukassa kirjoittamaan samaan tiedostoon, suosittelemme lisäämään sleep noin 0,5s~1-lausekkeen toistuvien kirjoitusten välille. Tämä johtuu siitä, että mssparkutils.fs.append ohjelmointirajapinnan sisäinen flush toiminto on asynkroninen, joten lyhyt viive auttaa varmistamaan tietojen eheyden.

Poista tiedosto tai hakemisto

Tämä menetelmä poistaa tiedoston tai hakemiston.

mssparkutils.fs.rm('file path', True) # Set the last parameter as True to remove all files and directories recursively

Hakemiston kiinnittäminen tai poistaminen käytöstä

Katso lisätietoja yksityiskohtaisesta käytöstä kohdassa Tiedoston käyttöönotto ja määrän poistaminen.

Muistikirja-apuohjelmat

Käytä MSSparkUtils Notebook Utilities -apuohjelmaa muistikirjan suorittamiseen tai muistikirjasta poistumiseen arvon kanssa. Saat yleiskatsauksen käytettävissä olevista menetelmistä suorittamalla seuraavan komennon:

mssparkutils.notebook.help()

Tuotos:


exit(value: String): void -> This method lets you exit a notebook with a value.
run(path: String, timeoutSeconds: int, arguments: Map): String -> This method runs a notebook and returns its exit value.

Muistiinpano

Muistikirja-apuohjelmat eivät koske Apache Spark -työmääritelmiä (SJD).

Viittaa muistikirjaan

Tämä menetelmä viittaa muistikirjaan ja palauttaa sen poistumisarvon. Voit suorittaa sisäkkäiset funktiokutsut muistikirjassa vuorovaikutteisesti tai jaksossa. Viitattava muistikirja kulkee muistikirjan Spark-altaassa, joka kutsuu tätä funktiota.

mssparkutils.notebook.run("notebook name", <timeoutSeconds>, <parameterMap>, <workspaceId>)

Esimerkkejä:

mssparkutils.notebook.run("Sample1", 90, {"input": 20 })

Fabric-muistikirja tukee myös viittaavia muistikirjoja useissa työtiloissa määrittämällä työtilan tunnuksen.

mssparkutils.notebook.run("Sample1", 90, {"input": 20 }, "fe0a6e2a-a909-4aa3-a698-0a651de790aa")

Voit avata viitesuorituksen tilannevedoslinkin solun tulostessa. Tilannevedos tallentaa koodin suoritustulokset ja mahdollistaa viitesuorituksen virheenkorjauksen helpon virheenkorjauksen.

Näyttökuva, jossa näkyy viittauksen suoritustulos.

Näyttökuva tilannevedoksesta, jossa on koodin suoritustuloksia.

Muistiinpano

  • Työtilojen välistä viitemuistikirjaa tuetaan suorituksenaikaisessa versiossa 1.2 ja sitä uudemmat.
  • Jos käytät muistikirjaresurssin alla olevia tiedostoja, käytä sitä mssparkutils.nbResPath viitatussa muistikirjassa varmistaaksesi, että se osoittaa samaan kansioon kuin vuorovaikutteinen suoritus.

Viiteajo useita muistikirjoja rinnakkain

Tärkeä

Tämä ominaisuus on esikatselutilassa.

-menetelmän mssparkutils.notebook.runMultiple() avulla voit suorittaa useita muistikirjoja rinnakkain tai ennalta määritetyn topologisen rakenteen kanssa. Ohjelmointirajapinta käyttää monisäikeistä toteutusmekanismia spark-istunnon sisällä, mikä tarkoittaa, että laskentaresurssit jaetaan viittausmuistikirjasuoritukset.

:n avulla mssparkutils.notebook.runMultiple()voit:

  • Suorita useita muistikirjoja samanaikaisesti odottamatta jokaisen päättymistä.

  • Määritä muistikirjojen riippuvuudet ja suoritusjärjestys käyttämällä yksinkertaista JSON-muotoa.

  • Optimoi Spark-käsittelyresurssien käyttö ja pienennä Fabric-projektiesi kustannuksia.

  • Tarkastele kunkin muistikirjan suoritustietueen tilannevedoksia tulosteessa ja korjaa muistikirjatehtäväsi virheenkorjaus/valvonta helposti.

  • Nouda kunkin johtajatoiminnon exit-arvo ja käytä niitä jatkotehtävissä.

Voit myös yrittää suorittaa mssparkutils.notebook.help("runMultiple") löytääksesi esimerkin ja yksityiskohtaisen käytön.

Tässä on yksinkertainen esimerkki muistikirjojen luettelon suorittamisesta rinnakkain tällä menetelmällä:


mssparkutils.notebook.runMultiple(["NotebookSimple", "NotebookSimple2"])

Päämuistikirjasta saatu suoritustulos on seuraava:

Näyttökuva viittauksesta muistikirjojen luetteloon.

Seuraavassa on esimerkki käynnissä olevista muistikirjoista, joissa on topologinen rakenne käyttämällä mssparkutils.notebook.runMultiple(). Tämän menetelmän avulla voit helposti järjestää muistikirjat koodikokemuksen kautta.

# run multiple notebooks with parameters
DAG = {
    "activities": [
        {
            "name": "NotebookSimple", # activity name, must be unique
            "path": "NotebookSimple", # notebook path
            "timeoutPerCellInSeconds": 90, # max timeout for each cell, default to 90 seconds
            "args": {"p1": "changed value", "p2": 100}, # notebook parameters
        },
        {
            "name": "NotebookSimple2",
            "path": "NotebookSimple2",
            "timeoutPerCellInSeconds": 120,
            "args": {"p1": "changed value 2", "p2": 200}
        },
        {
            "name": "NotebookSimple2.2",
            "path": "NotebookSimple2",
            "timeoutPerCellInSeconds": 120,
            "args": {"p1": "changed value 3", "p2": 300},
            "retry": 1,
            "retryIntervalInSeconds": 10,
            "dependencies": ["NotebookSimple"] # list of activity names that this activity depends on
        }
    ],
    "timeoutInSeconds": 43200, # max timeout for the entire DAG, default to 12 hours
    "concurrency": 50 # max number of notebooks to run concurrently, default to 50
}
mssparkutils.notebook.runMultiple(DAG, {"displayDAGViaGraphviz": False})

Päämuistikirjasta saatu suoritustulos on seuraava:

Näyttökuva viittauksesta parametrit sisältävään muistikirjojen luetteloon.

Muistiinpano

  • Useiden muistikirjojen suoritusten rinnakkaisuusaste on rajoitettu Spark-istunnon käytettävissä olevaan käsittelyresurssiin.
  • Muistikirjatoimintojen tai samanaikaisten muistikirjojen yläraja on 50. Tämän rajan ylittäminen voi johtaa vakauteen ja suorituskykyyn liittyviin ongelmiin resurssien runsaan käytön vuoksi. Jos ongelmia ilmenee, harkitse muistikirjojen erottamista useisiin runMultiple puheluihin tai samanaikaisuuden vähentämistä säätämällä DAG-parametrin samanaikaisuuskenttää .
  • Koko DAG:n oletusaikakatkaisu on 12 tuntia, ja alimuistikirjassa olevan solun oletusaikakatkaisu on 90 sekuntia. Voit muuttaa aikakatkaisua määrittämällä aikakatkaisunInSeconds- ja timeoutPerCellInSeconds-kentät DAG-parametrissa.

Poistu muistikirjasta

Tämä menetelmä sulkee muistikirjasta arvon. Voit suorittaa sisäkkäiset funktiokutsut muistikirjassa vuorovaikutteisesti tai jaksossa.

  • Kun kutsut muistikirjasta exit() -funktiota vuorovaikutteisesti, Fabric-muistikirja tekee poikkeuksen, ohittaa käynnissä olevien solujen suorittamisen ja pitää Spark-istunnon elossa.

  • Kun orkestroit muistikirjaa putkessa, joka kutsuu exit() -funktiota, muistikirja-aktiviteetti palaa uloskäyntiarvolla, viimeistelee putken suorittamisen ja pysäyttää Spark-istunnon.

  • Kun kutsut muistikirjassa olevaa exit() -funktiota, Fabric Spark lopettaa viitatun muistikirjan suorittamisen edelleen ja jatkaa seuraavien solujen suorittamista päämuistikirjassa, joka kutsuu run() -funktiota. Esimerkki: Notebook1:ssä on kolme solua ja toisessa solussa kutsutaan exit() -funktiota. Notebook2:ssa on viisi solua ja kutsuu run(notebook1:tä) kolmannessa solussa. Kun suoritat Notebook2-komennon, Notebook1 pysähtyy toiseen soluun osuessaan exit() -funktioon. Notebook2 jatkaa neljännen solunsa ja viidennen solunsa pyörimistä.

mssparkutils.notebook.exit("value string")

Esimerkkejä:

Sample1-muistikirja , jossa on seuraavat kaksi solua:

  • Cell 1 määrittää syöteparametrin, jonka oletusarvoksi on asetettu 10.

  • Cell 2 poistuu muistikirjasta käyttäen syötettä poistumisarvona.

Näyttökuva, jossa on esimerkkimuistikirja exit-funktiosta.

Voit suorittaa Sample1-mallin toisessa muistikirjassa käyttäen oletusarvoja:

exitVal = mssparkutils.notebook.run("Sample1")
print (exitVal)

Tuotos:

Notebook executed successfully with exit value 10

Voit suorittaa Sample1-näytteen toisessa muistikirjassa ja määrittää syötearvoksi 20:

exitVal = mssparkutils.notebook.run("Sample1", 90, {"input": 20 })
print (exitVal)

Tuotos:

Notebook executed successfully with exit value 20

Tunnistetiedot-apuohjelmat

Voit käyttää MSSparkUtils Credentials -apuohjelmia käyttöoikeustietueiden hankkimiseen ja salaisten koodien hallintaan Azure Key Vaultissa.

Saat yleiskatsauksen käytettävissä olevista menetelmistä suorittamalla seuraavan komennon:

mssparkutils.credentials.help()

Tuotos:

getToken(audience, name): returns AAD token for a given audience, name (optional)
getSecret(keyvault_endpoint, secret_name): returns secret for a given Key Vault and secret name

Hanki tunnus

getToken palauttaa Microsoft Entra -tunnuksen annetulle kohderyhmälle ja nimelle (valinnainen). Seuraavassa luettelossa näytetään käytettävissä olevat yleisöavaimet:

  • Tallennusryhmän resurssi: "tallennustila"
  • Power BI -resurssi: "pbi"
  • Azure Key Vault -resurssi: "keyvault"
  • Synapse RTA KQL DB Resource: "kusto"

Saat tunnuksen suorittamalla seuraavan komennon:

mssparkutils.credentials.getToken('audience Key')

Salaisen koodin hankkiminen käyttäjän tunnistetiedoilla

getSecret palauttaa Azure Key Vaultin salaisen koodin annetulle Azure Key Vaultin päätepisteelle ja salaiselle nimelle käyttäjän tunnistetietojen avulla.

mssparkutils.credentials.getSecret('https://<name>.vault.azure.net/', 'secret name')

Tiedostokiinnitys ja -mittarin irrottaminen

Fabric tukee seuraavia Microsoft Spark Utilities -paketin käyttöönottoskenaarioita. Voit käyttää käyttöönotto-, määrä-, getMountPath()- ja mounts()-ohjelmointirajapintoja etätallennustilan (ADLS Gen2) liittämiseen kaikkiin toimiviin solmuihin (ohjainsolmu ja työntekijäsolmut). Kun tallennustilan käyttöönottopiste on paikallaan, käytä paikallista tiedoston ohjelmointirajapintaa tietojen käyttämiseen ikään kuin ne olisi tallennettu paikalliseen tiedostojärjestelmään.

ADLS Gen2 -tilin lisääminen käyttöön

Seuraavassa esimerkissä havainnollistetaan, miten Azure Data Lake Storage Gen2 voidaan ottaa käyttöön. Kasvava Blob-säilö toimii samalla tavalla.

Tässä esimerkissä oletetaan, että sinulla on yksi Data Lake Storage Gen2 -tili nimeltä Storegen2, ja tilillä on yksi säilö nimeltä mycontainer , jonka haluat ottaa käyttöön /testata muistikirjasi Spark-istunnossa.

Näyttökuva, jossa näkyy, mihin säilö valitaan.

Jotta mycontainer-niminen säilö voidaan ottaa käyttöön, mssparkutilsin on ensin tarkistettava, onko sinulla säilön käyttöoikeus. Tällä hetkellä Fabric tukee kahta todennusmenetelmää käynnistimen käyttöönottotoiminnolle: accountKey ja sastoken.

Käyttöönotto jaetun käytön allekirjoitustunnuksen tai tiliavaimen avulla

MSSparkUtils tukee nimenomaisesti tilin avaimen tai SAS-tunnuksen välittämistä parametrina kohteen ottamiseksi käyttöön.

Suojaussyistä suosittelemme, että tallennat tiliavaimet tai SAS-tunnukset Azure Key Vaultiin (kuten seuraavassa näyttökuvassa näkyy). Voit sitten noutaa ne käyttämällä mssparkutils.credentials.getSecret-ohjelmointirajapintaa . Lisätietoja Azure Key Vaultista on artikkelissa Tietoja Azure Key Vaultin hallitun tallennustilin avaimista.

Näyttökuva, jossa näytetään salaisten koodien tallennuspaikka Azure Key Vaultiin.

AccountKey-menetelmän mallikoodi:

from notebookutils import mssparkutils  
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
accountKey = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(  
    "abfss://mycontainer@<accountname>.dfs.core.windows.net",  
    "/test",  
    {"accountKey":accountKey}
)

Sastoken-mallikoodi:

from notebookutils import mssparkutils  
# get access token for keyvault resource
# you can also use full audience here like https://vault.azure.net
sasToken = mssparkutils.credentials.getSecret("<vaultURI>", "<secretName>")
mssparkutils.fs.mount(  
    "abfss://mycontainer@<accountname>.dfs.core.windows.net",  
    "/test",  
    {"sasToken":sasToken}
)

Muistiinpano

Sinun on ehkä tuotava mssparkutils , jos se ei ole käytettävissä:

from notebookutils import mssparkutils

Parametrien käyttöönotto:

  • fileCacheTimeout: Blob-objektit tallennetaan oletusarvoisesti paikallisen tilapäiskansion välimuistiin 120 sekunnin ajaksi. Tänä aikana blobfuse ei tarkista, onko tiedosto ajan tasalla. Parametri voidaan määrittää muuttamaan oletusarvoista aikakatkaisuaikaa. Kun useat asiakasohjelmat muokkaavat tiedostoja samanaikaisesti, paikallisten ja etätiedostojen välisten epäjohdonmukaisuuksien välttämiseksi suosittelemme, että lyhennät välimuistin aikaa tai jopa vaihdat sen 0:aan ja haet aina uusimmat tiedostot palvelimelta.
  • timeout: Käyttöönoton aikakatkaisu on oletusarvoisesti 120 sekuntia. Parametri voidaan määrittää muuttamaan oletusarvoista aikakatkaisuaikaa. Jos suoritettavia tiedostoja on liikaa tai kun ne otetaan käyttöön aikakatkaistaan, on suositeltavaa suurentaa arvoa.

Voit käyttää näitä parametreja seuraavasti:

mssparkutils.fs.mount(
   "abfss://mycontainer@<accountname>.dfs.core.windows.net",
   "/test",
   {"fileCacheTimeout": 120, "timeout": 120}
)

Muistiinpano

Suojaussyistä suosittelemme, että et tallenna tunnistetietoja koodiin. Jotta tunnistetietojasi voidaan suojata lisää, muokkaamme salaisen koodisi muistikirjan tulosteeseen. Lisätietoja on kohdassa Salaisen koodin uudelleenohjaus.

Kuinka ottaa lakehouse käyttöön

Näytekoodi Lakehousen asentamiseksi /testattavaksi:

from notebookutils import mssparkutils 
mssparkutils.fs.mount( 
 "abfss://<workspace_id>@onelake.dfs.fabric.microsoft.com/<lakehouse_id>", 
 "/test"
)

Muistiinpano

Aluekohtaisen päätepisteen kiinniomista ei tueta. Fabric tukee vain kiinnityksen yleistä päätepistettä, onelake.dfs.fabric.microsoft.com.

Käyttöönottopisteen alapuolella olevien tiedostojen käyttö mssparktuils fs -ohjelmointirajapinnan avulla

Käyttöönottotoiminnon päätarkoitus on antaa asiakkaiden käyttää etätallennustilille tallennettuja tietoja paikallisen tiedostojärjestelmän ohjelmointirajapinnalla. Voit käyttää tietoja myös käyttämällä mssparkutils fs -ohjelmointirajapintaa, jonka parametrina on määritetty polku. Tämä polkumuoto on hieman erilainen.

Oletetaan, että kiinnitit Data Lake Storage Gen2 -säilön mycontainer kohteeseen /test käyttämällä liitosten ohjelmointirajapintaa. Kun käytät paikallisen tiedostojärjestelmän ohjelmointirajapinnan tietoja, polkumuoto on seuraavanlainen:

/synfs/notebook/{sessionId}/test/{filename}

Kun haluat käyttää tietoja mssparkutils fs -ohjelmointirajapinnan avulla, suosittelemme käyttämään getMountPath() -menetelmää, jotta saat tarkan polun:

path = mssparkutils.fs.getMountPath("/test")
  • Luettelohakemistot:

    mssparkutils.fs.ls(f"file://{mssparkutils.fs.getMountPath('/test')}")
    
  • Lue tiedoston sisältöä:

    mssparkutils.fs.head(f"file://{mssparkutils.fs.getMountPath('/test')}/myFile.txt")
    
  • Luo hakemisto:

    mssparkutils.fs.mkdirs(f"file://{mssparkutils.fs.getMountPath('/test')}/newdir")
    

Käyttötiedostot käyttöönottopisteen alla paikallisen polun kautta

Voit helposti lukea ja kirjoittaa tiedostot käyttöönottopisteessä käyttämällä vakiotiedostojärjestelmää. Tässä on esimerkki Pythonista:

#File read
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "r") as f:
    print(f.read())
#File write
with open(mssparkutils.fs.getMountPath('/test2') + "/myFile.txt", "w") as f:
    print(f.write("dummy data"))

Aiemmin luotujen käyttöönottopisteiden tarkistaminen

Voit tarkistaa kaikki olemassa olevat asennuspisteen tiedot mssparkutils.fs.mounts()-ohjelmointirajapinnan avulla:

mssparkutils.fs.mounts()

Miten voit poistaa kiinnikkeen vuoren yltä

Voit seuraavan koodin avulla poistaa kiinnityspisteen vuoren vuoren yltä (/testata tässä esimerkissä):

mssparkutils.fs.unmount("/test")

Tunnetut rajoitukset

  • Nykyinen käyttöönotto on työtason määritys. On suositeltavaa käyttää käyttöönottojen ohjelmointirajapintaa sen tarkistamiseen, onko kiinnityskohta olemassa vai ei.

  • Määrän poistamisen mekanismi ei ole automaattinen. Kun sovelluksen suorittaminen on valmis, jotta voit poistaa kiinnityskohdan ja vapauttaa levytilan, sinun on eksplisiittisesti kutsuttava koodin määrittämätöntä ohjelmointirajapintaa. Muussa tapauksessa käyttöönottopiste on solmussa sen jälkeen, kun sovelluksen suorittaminen on valmis.

  • ADLS Gen1 -tallennustilin asentamista ei tueta.

Lakehouse-apuohjelmat

mssparkutils.lakehouse tarjoaa nimenomaan Lakehouse-artefaktien hallintaan räätälöityjä apuohjelmia. Nämä apuohjelmat antavat käyttäjille mahdollisuuden luoda, hakea, päivittää ja poistaa Lakehouse-artefakteja vaivattomasti.

Muistiinpano

Lakehouse-ohjelmointirajapintoja tuetaan vain Runtime-versiossa 1.2+.

Menetelmien yleiskatsaus

Alla on yleiskatsaus käytettävissä olevista menetelmistä, jotka on mssparkutils.lakehouseantanut :

# Create a new Lakehouse artifact
create(name: String, description: String = "", workspaceId: String = ""): Artifact

# Retrieve a Lakehouse artifact
get(name: String, workspaceId: String = ""): Artifact

# Update an existing Lakehouse artifact
update(name: String, newName: String, description: String = "", workspaceId: String = ""): Artifact

# Delete a Lakehouse artifact
delete(name: String, workspaceId: String = ""): Boolean

# List all Lakehouse artifacts
list(workspaceId: String = ""): Array[Artifact]

Käyttöesimerkkejä

Jos haluat hyödyntää näitä menetelmiä tehokkaasti, katso seuraavia käyttöesimerkkejä:

Lakehouse-artefaktin luominen

artifact = mssparkutils.lakehouse.create("artifact_name", "Description of the artifact", "optional_workspace_id")

Lakehouse-artefaktin noutaminen

artifact = mssparkutils.lakehouse.get("artifact_name", "optional_workspace_id")

Lakehouse-artefaktin päivittäminen

updated_artifact = mssparkutils.lakehouse.update("old_name", "new_name", "Updated description", "optional_workspace_id")

Lakehouse-artefaktin poistaminen

is_deleted = mssparkutils.lakehouse.delete("artifact_name", "optional_workspace_id")

Listing Lakehouse -artefaktit

artifacts_list = mssparkutils.lakehouse.list("optional_workspace_id")

Lisätietoja

Saat tarkempia tietoja kustakin menetelmästä ja sen parametreista käyttämällä -funktiota mssparkutils.lakehouse.help("methodName") .

MSSparkUtilsin Lakehouse-apuohjelmien avulla Lakehouse-artefaktien hallinnasta tulee tehokkaampaa ja integroitunut Fabric-putkiin, mikä parantaa yleistä tietojenhallintakokemustasi.

Voit tutustua näihin apuohjelmiin ja sisällyttää niitä Fabric-työnkulkuihisi, jotta voit hallita saumattomasti Lakehouse-artefakteja.

Suorituksenaikaiset apuohjelmat

Näytä istunnon kontekstitiedot

Voit mssparkutils.runtime.context näin hakea nykyisen live-istunnon kontekstitiedot, kuten muistikirjan nimen, oletusjärvitalon, työtilan tiedot, jos kyseessä on jakson suorittaminen jne.

mssparkutils.runtime.context

Muistiinpano

mssparkutils.env ei virallisesti tueta Fabricissa, käytä notebookutils.runtime.context vaihtoehtoisena vaihtoehtona.

Tunnetut ongelmat

Kun käytät suorituspalvelun versiota, joka on yli 1.2 ja suorita mssparkutils.help(), listattua fabricClient-, Warehouse- ja työtila-ohjelmointirajapintoja ei tueta toistaiseksi, ja se on saatavilla myös jatkossakin.