Partilhar via


Use a API do Livy para enviar e executar trabalhos do Spark

Nota

A API Livy para engenharia de dados de malha está em visualização.

Aplica-se a:✅ Engenharia de Dados e Ciência de Dados no Microsoft Fabric

Comece a usar a API Livy para engenharia de dados de malha criando um Lakehouse; autenticação com um token de aplicativo Microsoft Entra; enviar trabalhos em lote ou de sessão de um cliente remoto para a computação do Fabric Spark. Você detetará o endpoint da API Livy; submeterá tarefas; e acompanhará os resultados.

Pré-requisitos

Escolhendo um cliente de API REST

Você pode usar várias linguagens de programação ou clientes GUI para interagir com pontos de extremidade da API REST. Neste artigo, usamos Visual Studio Code. O Visual Studio Code precisa ser configurado com Jupyter Notebooks, PySpark e a Microsoft Authentication Library (MSAL) para Python

Como autorizar as solicitações da API do Livy

Para trabalhar com APIs de malha, incluindo a API Livy, primeiro você precisa criar um aplicativo Microsoft Entra e obter um token. Seu aplicativo precisa ser registrado e configurado adequadamente para executar chamadas de API no Fabric. Para obter mais informações, consulte Registrar um aplicativo com a plataforma de identidade da Microsoft.

Há muitas permissões de escopo do Microsoft Entra necessárias para executar trabalhos do Livy. Este exemplo usa código Spark simples + acesso ao armazenamento + SQL:

  • Código.AccessAzureDataExplorer.All
  • Code.AccessAzureDataLake.All
  • Code.AccessAzureKeyvault.All
  • Código.AccessFabric.All
  • Code.AccessStorage.All
  • Item.ReadWrite.All
  • Lakehouse.Execute.Todos
  • Lakehouse.Read.All
  • Workspace.ReadWrite.All

Captura de tela mostrando as permissões da API Livy no centro de administração do Microsoft Entra.

Nota

Durante a visualização pública, adicionaremos alguns escopos granulares adicionais e, se você usar essa abordagem, quando adicionarmos esses escopos adicionais, seu aplicativo Livy será quebrado. Por favor, verifique esta lista, pois ela será atualizada com os escopos adicionais.

Alguns clientes querem permissões mais granulares do que a lista anterior. Você pode remover Item.ReadWrite.All e substituir por estas permissões de escopo mais granulares:

  • Código.AccessAzureDataExplorer.All
  • Code.AccessAzureDataLake.All
  • Code.AccessAzureKeyvault.All
  • Código.AccessFabric.All
  • Code.AccessStorage.All
  • Lakehouse.Execute.Todos
  • Lakehouse.ReadWrite.Todos
  • Workspace.ReadWrite.All
  • Notebook.ReadWrite.All
  • SparkJobDefinition.ReadWrite.All
  • MLModel.ReadWrite.All
  • MLExperiment.ReadWrite.All
  • Dataset.ReadWrite.All

Depois de registrar seu aplicativo, você precisará da ID do aplicativo (cliente) e da ID do diretório (locatário).

Captura de tela mostrando a visão geral do aplicativo Livy API no centro de administração do Microsoft Entra.

O usuário autenticado que chama a API Livy precisa ser um membro do espaço de trabalho onde os itens da API e da fonte de dados estão localizados com uma função de Colaborador. Para obter mais informações, consulte Conceder aos usuários acesso a espaços de trabalho.

Como descobrir o endpoint da API do Fabric Livy

Um artefato Lakehouse é necessário para acessar o ponto de extremidade Livy. Depois que o Lakehouse é criado, o endpoint da API Livy pode ser localizado dentro do painel de configurações.

Captura de tela mostrando os pontos de extremidade da API Livy nas configurações do Lakehouse.

O ponto de extremidade da API Livy seguiria este padrão:

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

O URL é anexado com <sessões> ou <lotes,> dependendo do que você escolher.

Integração com ambientes de malha

Para cada espaço de trabalho de malha, um pool inicial padrão é provisionado, a execução de todo o código de faísca usa esse pool inicial por padrão. Você pode usar ambientes de malha para personalizar os trabalhos do Livy API Spark.

Baixe os arquivos do Livy API Swagger

Os ficheiros Swagger completos para a API Livy estão disponíveis aqui.

Enviar um trabalho de API Livy

Agora que a configuração da API do Livy está concluída, você pode optar por enviar trabalhos em lote ou de sessão.

Como monitorar o histórico de solicitações

Você pode usar o Hub de Monitoramento para ver seus envios anteriores da API Livy e depurar quaisquer erros de envios.

Captura de tela mostrando envios anteriores da API Livy no hub de monitoramento.