Dela via


Använda Livy-API:et för att skicka och köra Spark-jobb

Kommentar

Livy API för Fabric Dataingenjör ing finns i förhandsversion.

Gäller för:✅ Dataingenjör ing och Datavetenskap i Microsoft Fabric

Kom igång med Livy API för Fabric-Dataingenjör genom att skapa en Lakehouse, autentisera med en Microsoft Entra-apptoken. Skicka antingen batch- eller sessionsjobb från en fjärrklient till Fabric Spark-beräkning. Du kommer också att identifiera Livy API-slutpunkten. skicka jobb. och övervaka resultaten.

Förutsättningar

Välja en REST API-klient

Du kan använda olika programmeringsspråk eller GUI-klienter för att interagera med REST API-slutpunkter. I den här artikeln använder vi Visual Studio Code. Visual Studio Code måste konfigureras med Jupyter Notebooks, PySpark och Microsoft Authentication Library (MSAL) för Python

Auktorisera Api-begäranden för Livy

Om du vill arbeta med Infrastruktur-API:er inklusive Livy-API:et måste du först skapa ett Microsoft Entra-program och hämta en token. Ditt program måste vara registrerat och konfigurerat på ett lämpligt sätt för att utföra API-anrop mot Fabric. Mer information finns i Registrera ett program med Microsofts identitetsplattform.

Det finns många Microsoft Entra-omfångsbehörigheter som krävs för att köra Livy-jobb. Det här är ett exempel på enkel Spark-kod + lagringsåtkomst + 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

Skärmbild som visar Livy API-behörigheter i administrationscentret för Microsoft Entra.

Kommentar

Under den offentliga förhandsversionen kommer vi att lägga till några ytterligare detaljerade omfång, och om du använder den här metoden bryts livy-appen när vi lägger till dessa ytterligare omfång. Kontrollera den här listan eftersom den uppdateras med de ytterligare omfången.

Vissa kunder vill ha mer detaljerade behörigheter än den tidigare listan. Du kan ta bort Item.ReadWrite.All och ersätta med dessa mer detaljerade omfångsbehörigheter:

  • 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

När du har registrerat programmet behöver du både program-ID :t (klient)-ID:t och katalog-ID:t (klientorganisation).

Skärmbild som visar Översikt över Livy API-appen i administrationscentret för Microsoft Entra.

Den autentiserade användaren som anropar Livy-API:et måste vara medlem i arbetsytan där både API:et och datakällans objekt finns med rollen Deltagare. Mer information finns i Ge användare åtkomst till arbetsytor.

Så här identifierar du Fabric Livy API-slutpunkten

En Lakehouse-artefakt krävs för att få åtkomst till Livy-slutpunkten. När Lakehouse har skapats kan Livy API-slutpunkten finnas i inställningspanelen.

Skärmbild som visar Livy API-slutpunkter i Lakehouse-inställningar.

Slutpunkten för Livy-API:et skulle följa det här mönstret:

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

URL:en läggs till med antingen <sessioner> eller <batchar> beroende på vad du väljer.

Integrering med infrastrukturmiljöer

För varje Infrastruktur-arbetsyta etableras en standardstartpool, körningen av all spark-kod använder den här startpoolen som standard. Du kan använda Infrastrukturmiljöer för att anpassa Livy API Spark-jobben.

Skicka ett Livy API-jobb

Nu när du har slutfört installationen av Livy-API:et kan du välja att skicka batch- eller sessionsjobb.

Så här övervakar du begärandehistoriken

Du kan använda Övervakningshubben för att se dina tidigare Livy API-inlämningar och felsöka eventuella inskickade fel.

Skärmbild som visar tidigare Livy API-inlämningar i övervakningshubben.