Jaa


Livy-ohjelmointirajapinnan avulla voit lähettää ja suorittaa Spark-istuntotöitä käyttäjän tunnistetiedoilla

Koskee seuraavia:✅ Microsoft Fabricin tietotekniikka ja datatiede

Aloita Livy-ohjelmointirajapinnan käyttäminen Fabric Data Engineering -suunnittelussa luomalla Lakehouse; todentaminen Microsoft Entra -tunnuksen avulla; tutustu Livy-ohjelmointirajapinnan päätepisteeseen; lähetä joko erä- tai istuntotöitä etäasiakkaasta Fabric Spark -käsittelyyn; ja valvoa tuloksia.

Edellytykset

REST-ohjelmointirajapintaasiakkaan valitseminen

Voit käyttää eri ohjelmointikieliä tai GUI-asiakasohjelmia REST-ohjelmointirajapinnan päätepisteiden kanssa vuorovaikuttamiseen. Tässä artikkelissa käytetään Visual Studio Code -. Visual Studio Code on määritettävä Jupyter Notebooksin, PySparkin ja Pythonin Microsoft Authentication Libraryn (MSAL) kanssa.

Livy-ohjelmointirajapintapyyntöjen valtuuttaminen Entra SPN -tunnuksen avulla

Jos haluat käyttää Fabric-ohjelmointirajapintoja, kuten Livy-ohjelmointirajapintaa, sinun on ensin luotava Microsoft Entra -sovellus ja luotava salainen koodi ja käytettävä sitä koodissasi. Sovellus on rekisteröitävä ja määritettävä riittävästi, jotta se voi suorittaa API-kutsuja Fabricia vastaan. Lisätietoja on ohjeaiheessa Sovelluksen tunnistetietojen lisääminen ja hallinta Microsoft Entra -tunnuksella

Kun olet luonut sovelluksen rekisteröinnin, luo asiakassalaisuus.

Näyttökuva, jossa näkyy Entra-sovelluksen rekisteröinti ja asiakasohjelman salasanan lisääminen.

  1. Kun luot asiakassalaisuuden, muista kopioida arvo. Tätä tarvitaan myöhemmin koodin sisällä, eikä salaista koodia voi enää nähdä. Koodin salaisen koodin lisäksi tarvitset myös sovellustunnuksen (asiakasohjelman) tunnuksen ja hakemiston (vuokraajatunnuksen).

  2. Seuraavaksi meidän täytyy lisätä asiakassalaisuus työtilaamme.

    Näyttökuva, jossa näkyy Lakehouse-asetusten hallinta.

  3. Etsi Entra-asiakassalaisuus ja lisää se työtilaan ja varmista, että juuri lisätyllä salaisuutena on järjestelmänvalvojan oikeudet.

    Näyttökuva, jossa näkyy uuden SPN-palvelun päänimen lisääminen työtilaan.

Livy-ohjelmointirajapintapyyntöjen valtuuttaminen Entra-sovellustunnuksen avulla

Jos haluat käyttää Fabric-ohjelmointirajapintoja, kuten Livy-ohjelmointirajapintaa, sinun on ensin luotava Microsoft Entra -sovellus ja hankittava tunnus. Sovellus on rekisteröitävä ja määritettävä riittävästi, jotta se voi suorittaa API-kutsuja Fabricia vastaan. Lisätietoja on kohdassa Sovelluksen rekisteröiminen Microsoftin käyttäjätietoympäristössä.

Livy-töiden suorittamiseen vaaditaan useita Microsoft Entra -vaikutusalueen käyttöoikeuksia. Tässä esimerkissä käytetään yksinkertaista Spark-koodia ja tallennustilan käyttöoikeutta + SQL:ää:

  • Code.AccessAzureDataExplorer.All

  • Code.AccessAzureDataLake.All

  • Code.AccessAzureKeyvault.All

  • Code.AccessFabric.All

  • Code.AccessStorage.All

  • Item.ReadWrite.All

  • Lakehouse.Execute.All

  • Workspace.ReadWrite.All

    Näyttökuva, jossa näkyy Livy-ohjelmointirajapinnan käyttöoikeudet Microsoft Entra -hallintakeskuksessa.

Muistiinpano

Julkisen esikatselun aikana nämä vaikutusalueet saattavat muuttua, kun lisäämme joitakin eriytettyjä vaikutusalueita. Kun näitä vaikutusalueita muutetaan, Livy-sovellus saattaa keskeytyä. Tarkista tämä luettelo, sillä se päivittyy lisälaajuuteen.

Jotkut asiakkaat haluavat enemmän eriytettyjä käyttöoikeuksia kuin aiempi luettelo. Voit poistaa Item.ReadWrite.All-arvon ja korvata seuraavilla eriytetymmillä vaikutusalueoikeuksilla:

  • Code.AccessAzureDataExplorer.All
  • Code.AccessAzureDataLake.All
  • Code.AccessAzureKeyvault.All
  • Code.AccessFabric.All
  • Code.AccessStorage.All
  • Lakehouse.Execute.All
  • Lakehouse.ReadWrite.All
  • Workspace.ReadWrite.All
  • Notebook.ReadWrite.All
  • SparkJobDefinition.ReadWrite.All
  • MLModel.ReadWrite.All
  • MLExperiment.ReadWrite.All
  • Dataset.ReadWrite.All

Kun rekisteröit sovelluksesi, tarvitset sekä Sovelluksen (asiakkaan) tunnuksen että Hakemiston (vuokraajan) tunnuksen.

Näyttökuva, jossa näkyy Livy-ohjelmointirajapintasovelluksen yleiskatsaus Microsoft Entra -hallintakeskuksessa.

Livy-ohjelmointirajapintaa kutsuvan todennetun käyttäjän on oltava työtilan jäsen, jossa sekä ohjelmointirajapinnan että tietolähteen kohteet sijaitsevat Osallistuja-roolissa. Lisätietoja on artikkelissa Työtilojen käyttöoikeuksien antaminen käyttäjille.

Fabric Livy -ohjelmointirajapinnan päätepisteen löytäminen

Lakehouse-artefakti vaaditaan Livy-päätepisteen käyttämiseksi. Kun Lakehouse on luotu, Livy-ohjelmointirajapinnan päätepiste voi sijaita asetuspaneelin sisällä.

Näyttökuva, jossa näkyy Livy-ohjelmointirajapinnan päätepisteet Lakehouse-asetuksissa.

Livy-ohjelmointirajapinnan päätepiste noudattaa seuraavaa kaavaa:

https://api.fabric.microsoft.com/v1/workspaces/><ws_id>/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/

URL-osoitteeseen liitetään joko <istuntoja> tai <eriä> sen mukaan, mitä valitset.

Livy API Swagger -tiedostojen lataaminen

Livy-ohjelmointirajapinnan täydet swagger-tiedostot ovat saatavilla täällä.

Livy-ohjelmointirajapintatöiden lähettäminen

Nyt kun Livy-ohjelmointirajapinnan määritys on valmis, voit lähettää joko erän tai istuntotyöt.

Integrointi Fabric-ympäristöihin

Tämä Livy-ohjelmointirajapinnan istunto suoritetaan oletusarvoisesti työtilan oletusarvoista aloitussarjaa vasten. Vaihtoehtoisesti voit käyttää Fabric-ympäristöjä Luo, määritä ja käytä Microsoft Fabric -ympäristöä , jotta voit mukauttaa Spark-varantoa, jota Livy-ohjelmointirajapinta-istunto käyttää näissä Spark-työpaikoissa.

Jos haluat käyttää Fabric-ympäristöä Livy Spark -istunnossa, päivitä json sisältämään nämä tiedot.

create_livy_session = requests.post(livy_base_url, headers = headers, json={
    "conf" : {
        "spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
    }
)

Jotta voit käyttää Fabric-ympäristöä Livy Spark -eräistunnossa, päivitä json-tiedot alla kuvatulla tavalla.

payload_data = {
"name":"livybatchdemo_with"+ newlakehouseName,
"file":"abfss://YourABFSPathToYourPayload.py", 
"conf": {
    "spark.targetLakehouse": "Fabric_LakehouseID",
    "spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID"\"}"  # remove this line to use starter pools instead of an environment, replace "EnvironmentID" with your environment ID
    }
}

Pyyntöhistorian seuranta

Valvontakeskuksen avulla voit tarkastella livy-ohjelmointirajapinnan aiempia lähetyksiä ja korjata lähetysvirheet.

Näyttökuva, joka näyttää aiemmat Livy-ohjelmointirajapinnan lähetykset valvontakeskuksessa.