Condividi tramite


Usare l'API Livy per inviare ed eseguire processi Spark

Nota

L'API Livy per fabric Ingegneria dei dati è in anteprima.

Si applica a:✅ ingegneria dei dati e data science in Microsoft Fabric

Per iniziare a usare l'API Livy per Fabric Ingegneria dei dati, creare un lakehouse, autenticarsi con un token dell'app Microsoft Entra; inviare processi batch o di sessione da un client remoto al calcolo Spark di Fabric. Scoprirai l'endpoint dell'API Livy, invierai processi e monitorerai i risultati.

Prerequisiti

Scelta di un client API REST

È possibile usare vari linguaggi di programmazione o client GUI per interagire con gli endpoint dell'API REST. In questo articolo viene usato Visual Studio Code. Visual Studio Code deve essere configurato con Jupyter Notebook, PySpark e Microsoft Authentication Library (MSAL) per Python

Come autorizzare le richieste dell'API Livy

Per usare le API di Infrastruttura, inclusa l'API Livy, è prima necessario creare un'applicazione Microsoft Entra e ottenere un token. L'applicazione deve essere opportunamente registrata e configurata per eseguire chiamate API su Fabric. Per altre informazioni, vedere Registrare un'applicazione con Microsoft Identity Platform.

Per eseguire i processi Livy sono necessarie molte autorizzazioni per l'ambito di Microsoft Entra. Questo esempio usa codice Spark semplice e accesso all'archiviazione + 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 che mostra le autorizzazioni dell'API Livy nell'interfaccia di amministrazione di Microsoft Entra.

Nota

Durante l'anteprima pubblica verranno aggiunti alcuni ambiti granulari aggiuntivi e, se si usa questo approccio, quando si aggiungono questi ambiti aggiuntivi, l'app Livy verrà interrotta. Controllare questo elenco perché verrà aggiornato con gli ambiti aggiuntivi.

Alcuni clienti vogliono autorizzazioni più granulari rispetto all'elenco precedente. È possibile rimuovere Item.ReadWrite.All e sostituire con queste autorizzazioni di ambito più granulari:

  • 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

Dopo aver registrato l'applicazione, saranno necessari sia l'ID applicazione (client) che l'ID directory (tenant).

Screenshot che mostra la panoramica dell'app per le API Livy nell'interfaccia di amministrazione di Microsoft Entra.

L'utente autenticato che chiama l'API Livy deve essere un membro dell'area di lavoro in cui si trovano sia l'API che gli elementi dell'origine dati con un ruolo Collaboratore. Per altre informazioni, vedere Concedere agli utenti l'accesso alle aree di lavoro.

Come individuare l'endpoint dell'API Livy fabric

Per accedere all'endpoint Livy è necessario un artefatto Lakehouse. Dopo aver creato Lakehouse, l'endpoint dell'API Livy può trovarsi all'interno del pannello delle impostazioni.

Screenshot che mostra gli endpoint dell'API Livy nelle impostazioni di Lakehouse.

L'endpoint dell'API Livy seguirà questo modello:

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

L'URL viene aggiunto con <sessioni> o <batch> a seconda di ciò che si sceglie.

Integrazione con gli ambienti di infrastruttura

Per ogni area di lavoro infrastruttura viene effettuato il provisioning di un pool di avvio predefinito, l'esecuzione di tutto il codice Spark usa questo pool di avvio per impostazione predefinita. È possibile usare ambienti di infrastruttura per personalizzare i processi Spark dell'API Livy.

Scaricare i file Swagger dell'API Livy

I file Swagger completi per l'API Livy sono disponibili qui.

Inviare processi api Livy

Ora che la configurazione dell'API Livy è stata completata, è possibile scegliere di inviare processi batch o di sessione.

Come monitorare la cronologia delle richieste

È possibile usare l'hub di monitoraggio per visualizzare gli invii precedenti dell'API Livy ed eseguire il debug di eventuali errori di invio.

Screenshot che mostra gli invii precedenti dell'API Livy nell'hub di monitoraggio.