Delen via


De Livy-API gebruiken om Spark-taken te verzenden en uit te voeren

Notitie

De Livy-API voor Fabric Data-engineer ing is in preview.

Van toepassing op:✅ Data-engineer ing en Datawetenschap in Microsoft Fabric

Ga aan de slag met Livy-API voor Fabric Data-engineer ing door een Lakehouse te maken; verifiëren met een Microsoft Entra-app-token; batch- of sessietaken verzenden van een externe client naar Fabric Spark Compute. U ontdekt het Livy-API-eindpunt; taken indienen; en controleer de resultaten.

Vereisten

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

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
  • Lakehouse.Read.All
  • Workspace.ReadWrite.All

Schermopname van Livy API-machtigingen in het Microsoft Entra-beheercentrum.

Notitie

Tijdens de openbare preview voegen we enkele extra gedetailleerde bereiken toe en als u deze benadering gebruikt, wordt uw Livy-app verbroken wanneer we deze extra bereiken toevoegen. Controleer deze lijst omdat deze wordt bijgewerkt met de extra bereiken.

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
  • Gegevensset.LezenSchrijven.Alle

Wanneer u uw applicatie hebt geregistreerd, hebt u zowel de applicatie-id (client) als de directory-id (tenant) nodig.

Schermopname van het overzicht van de Livy-API-app in het Microsoft Entra-beheercentrum.

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.

Schermopname van Livy API-eindpunten in Lakehouse-instellingen.

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 toegevoegd met <sessies> of <batches> , afhankelijk van wat u kiest.

Integratie met Fabric-omgevingen

Voor elke Fabric-werkruimte wordt een standaardstartgroep ingericht. De uitvoering van alle Spark-code maakt standaard gebruik van deze starterspool. U kunt Fabric Environments gebruiken om de Spark-taken van de Livy-API aan te passen.

De Livy API Swagger-bestanden downloaden

De volledige swagger-bestanden voor de Livy-API zijn hier beschikbaar.

Een Livy-API-taken verzenden

Nu de installatie van de Livy-API is voltooid, kunt u ervoor kiezen om batch- of sessietaken in te dienen.

De aanvraaggeschiedenis bewaken

U kunt de Monitoring Hub gebruiken om uw eerdere Livy API-inzendingen te bekijken en fouten in inzendingen op te sporen.

Schermopname van eerdere Livy API-inzendingen in de Monitoring Hub.