Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Van toepassing op:✅ Data-engineer ing en Datawetenschap in Microsoft Fabric
Ga aan de slag met Livy-API voor Fabric Data Engineering door een Lakehouse te maken; verifiëren met een Microsoft Entra-token; het Livy-API-eindpunt detecteren; batch- of sessietaken verzenden van een externe client naar Fabric Spark Compute; en controleer de resultaten.
Vereiste voorwaarden
Fabric Premium- of proefcapaciteit met een LakeHouse
De tenantbeheerdersinstelling voor Livy-API inschakelen (preview)
Een externe client zoals Visual Studio Code met Jupyter Notebook-ondersteuning, PySpark en Microsoft Authentication Library (MSAL) voor Python
Een Microsoft Entra-app-token. Een toepassing registreren met het Microsoft Identity Platform
Of een Microsoft Entra SPN-token. Toepassingsreferenties toevoegen en beheren in Microsoft Entra-id
Een REST API-client kiezen
U kunt verschillende programmeertalen of GUI-clients gebruiken om te communiceren met REST API-eindpunten. In dit artikel gebruiken we Visual Studio Code. Visual Studio Code moet worden geconfigureerd met Jupyter Notebooks, PySpark en de Microsoft Authentication Library (MSAL) voor Python
De Livy-API-aanvragen autoriseren met een Entra SPN-token
Als u wilt werken met Fabric-API's, waaronder de Livy-API, moet u eerst een Microsoft Entra-toepassing maken en een geheim maken en dat geheim gebruiken in uw code. Uw toepassing moet voldoende zijn geregistreerd en geconfigureerd om API-aanroepen uit te voeren op Fabric. Zie Toepassingsreferenties toevoegen en beheren in Microsoft Entra-id voor meer informatie
Nadat u de app-registratie hebt gemaakt, maakt u een clientgeheim.
Wanneer u het cliëntgeheim aanmaakt, zorg ervoor dat u de waarde kopieert. Je hebt dit later in de code nodig en het geheim kan niet opnieuw worden gezien. U hebt naast het geheim in uw code ook de toepassings-id (client) en de directory-id (tenant) nodig.
Vervolgens moeten we het clientgeheim toevoegen aan onze werkruimte.
Zoek het Entra-clientgeheim en voeg dat geheim toe aan de werkruimte en zorg ervoor dat het zojuist toegevoegde geheim beheerdersmachtigingen heeft.
De Livy-API-aanvragen autoriseren met een Entra-app-token
Als u wilt werken met Fabric-API's, waaronder de Livy-API, moet u eerst een Microsoft Entra-toepassing maken en een token verkrijgen. Uw toepassing moet voldoende zijn geregistreerd en geconfigureerd om API-aanroepen uit te voeren op Fabric. Zie Een toepassing registreren bij het Microsoft-identiteitsplatform voor meer informatie.
Er zijn veel Microsoft Entra-scopemachtigingen vereist voor het uitvoeren van Livy-taken. In dit voorbeeld wordt gebruikgemaakt van eenvoudige Spark-code + opslagtoegang + 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
Notitie
Tijdens de openbare preview kunnen deze bereiken veranderen, omdat we nog enkele gedetailleerde bereiken toevoegen. Wanneer deze bereikwijzigingen zich voordoen, kan uw Livy-app niet meer functioneren. Controleer deze lijst aangezien deze wordt bijgewerkt met de extra omvangen.
Sommige klanten willen gedetailleerdere machtigingen dan de vorige lijst. U kunt Item.ReadWrite.All verwijderen en vervangen door deze gedetailleerdere bereikmachtigingen:
- 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.LeesSchrijf.Alle
Wanneer u uw toepassing registreert, hebt u zowel de toepassings-id (client) als de directory-id (huurder) nodig.
De geverifieerde gebruiker die de Livy-API aanroept, moet lid zijn van de werkruimte waarin zowel de API als de gegevensbronitems zich bevinden met de rol Inzender. Zie Gebruikers toegang geven tot werkruimten voor meer informatie.
Het Eindpunt van de Fabric Livy-API detecteren
Een Lakehouse-artefact is vereist voor toegang tot het Livy-eindpunt. Zodra het Lakehouse is gemaakt, kan het Livy-API-eindpunt zich in het instellingenvenster bevinden.
Het eindpunt van de Livy-API volgt dit patroon:
https://api.fabric.microsoft.com/v1/workspaces/><ws_id>/lakehouses/<lakehouse_id>/livyapi/versions/2023-12-01/
De URL wordt voorzien van <sessies> of <batches>, afhankelijk van uw keuze.
De Livy API Swagger-bestanden downloaden
De volledige swagger-bestanden voor de Livy-API zijn hier beschikbaar.
Een Livy-API-taak indienen
Nu de installatie van de Livy-API is voltooid, kunt u ervoor kiezen om batch- of sessietaken in te dienen.
Integratie met Fabric-omgevingen
Deze Livy API-sessie wordt standaard uitgevoerd op basis van de standaardstartgroep voor de werkruimte. U kunt ook Infrastructuuromgevingen maken, configureren en gebruiken in Microsoft Fabric om de Spark-pool aan te passen die door de Livy API-sessie wordt gebruikt voor deze Spark-taken.
Als u een Fabric-omgeving in een Livy Spark-sessie wilt gebruiken, werkt u de json bij om deze payload op te nemen.
create_livy_session = requests.post(livy_base_url, headers = headers, json={
"conf" : {
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
}
)
Als u een Fabric-omgeving in een Livy Spark-batchsessie wilt gebruiken, werkt u de json-nettolading bij zoals hieronder wordt weergegeven.
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
}
}
De aanvraaggeschiedenis bewaken
U kunt de Monitoring Hub gebruiken om uw eerdere Livy API-inzendingen te bekijken en fouten in inzendingen op te sporen.
Gerelateerde inhoud
- Documentatie voor Apache Livy REST API
- Aan de slag met beheerdersinstellingen voor uw fabriccapaciteit
- Beheerinstellingen voor Apache Spark-werkruimten in Microsoft Fabric
- Een toepassing registreren met het Microsoft Identity Platform
- Overzicht van Microsoft Entra-machtigingen en -toestemming
- Fabric REST API-scopes
- Overzicht van Apache Spark-bewaking
- Details van de Apache Spark-toepassing