Freigeben über


Übermitteln und Ausführen von Spark-Aufträgen mit der Livy-API

Hinweis

Die Livy-API für Fabric Data Engineering befindet sich in der Vorschau.

Gilt für:✅ Datentechnik und Data Science in Microsoft Fabric

Erstellen Sie zum Einstieg mit der Livy-API für Fabric Data Engineering zunächst ein Lakehouse. Authentifizieren Sie sich mit einem Microsoft Entra-App-Token, und übermitteln Sie Batch- oder Sitzungsaufträge von einem Remoteclient an Fabric Spark-Compute. Sie werden auch den Livy-API-Endpunkt kennenlernen, Aufträge übermitteln und die Ergebnisse überwachen.

Voraussetzungen

Auswählen eines REST-API-Clients

Sie können verschiedene Programmiersprachen oder Clients mit Benutzeroberflächen verwenden, um mit REST-API-Endpunkten zu interagieren. In diesem Artikel wird Visual Studio Code verwendet. Visual Studio Code muss mit Jupyter Notebook, PySparkund der Microsoft Authentication Library (MSAL) für Python konfiguriert werden.

Autorisieren von Livy-API-Anforderungen

Für die Verwendung von Fabric-APIs (einschließlich der Livy-API) müssen Sie zunächst eine Microsoft Entra-Anwendung erstellen und ein Token abrufen. Ihre Anwendung muss registriert und entsprechend konfiguriert werden, um API-Aufrufe für Fabric auszuführen. Weitere Informationen finden Sie unter Registrieren einer Anwendung bei Microsoft Identity Platform.

Zum Ausführen von Livy-Aufträgen sind viele Microsoft Entra-Berechtigungen im Geltungsbereich erforderlich. Im Folgenden finden Sie ein Beispiel für einfachen Spark-Code mit Speicherzugriff und 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

Screenshot der Livy-API-Berechtigungen im Microsoft Entra Admin Center

Hinweis

Während der Public Preview werden einige zusätzliche granulare Geltungsbereiche hinzugefügt, durch die Ihre Livy-App unterbrochen wird, sofern Sie diesen Ansatz verwenden. Überprüfen Sie diese Liste darauf, ob sie mit den zusätzlichen Geltungsbereichen aktualisiert wurde.

Einige Kunden benötigen differenziertere Berechtigungen als in der obigen Liste. Sie können „Item.ReadWrite.All“ entfernen und durch diese differenzierteren Berechtigungen im Geltungsbereich ersetzen:

  • 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

Nachdem Sie Ihre Anwendung registriert haben, benötigen Sie die Anwendungs-ID (Client-ID) und die Verzeichnis-ID (Mandanten-ID).

Screenshot der Übersicht über die Livy-API-App im Microsoft Entra Admin Center

Der authentifizierte Benutzende, der die Livy-API aufruft, muss Mitglied des Arbeitsbereichs sein, in dem sich sowohl die API- als auch die Datenquellenelemente befinden, und über die Rolle „Mitwirkender“ verfügen. Weitere Informationen finden Sie unter Gewähren des Zugriffs auf Arbeitsbereiche für Benutzer.

Ermitteln des Fabric Livy-API-Endpunkts

Für den Zugriff auf den Livy-Endpunkt ist ein Lakehouse-Artefakt erforderlich. Nachdem das Lakehouse erstellt wurde, finden Sie den Livy-API-Endpunkt im Einstellungsbereich.

Screenshot mit Livy-API-Endpunkten in den Lakehouse-Einstellungen

Der Endpunkt der Livy-API weist folgendes Muster auf:

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

An die URL wird je nach Ihrer Auswahl entweder <sessions> oder <batches> angefügt.

Integration in Fabric-Umgebungen

Für jeden Fabric-Arbeitsbereich wird ein Standardstartpool bereitgestellt, und für die Ausführung des gesamten Sparkcodes wird standardmäßig dieser Startpool verwendet. Sie können Fabric-Umgebungen verwenden, um die Spark-Aufträge der Livy-API anzupassen.

Übermitteln von Livy-API-Aufträgen

Nachdem Sie nun die Einrichtung der Livy-API abgeschlossen haben, können Sie auswählen, ob Batch- oder Sitzungsaufträge gesendet werden sollen.

Überwachen des Anforderungsverlaufs

Sie können den Überwachungshub verwenden, um frühere Livy-API-Übermittlungen anzuzeigen und mögliche Übermittlungsfehler zu debuggen.

Screenshot früherer Livy-API-Übermittlungen im Überwachungshub