Compartilhar via


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

Observação

A API do Livy para Engenharia de Dados do Fabric está em versão prévia.

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

Comece com a API do Livy para Engenharia de Dados do Fabric criando um Lakehouse; autenticando com um token de aplicativo Microsoft Entra; enviando trabalhos em lote ou sessão de um cliente remoto para a computação do Spark do Fabric. Você também descobrirá o ponto de extremidade da API do Livy; enviará trabalhos; e monitorará 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 ponto de extremidades de API REST. Neste artigo, usaremos o 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 do Fabric, incluindo a API do Livy, você primeiro 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, confira Registrar um aplicativo na plataforma de identidade da Microsoft.

São necessárias muitas permissões de escopo do Microsoft Entra para executar trabalhos do Livy. Esse é um exemplo de código Spark simples + acesso a armazenamento + 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

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

Observação

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á interrompido. Verifique essa lista, pois ela será atualizada com os escopos adicionais.

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

  • 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

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 da API do Livy no centro de administração do Microsoft Entra.

A pessoa autenticada chamando a API do Livy precisa ser um membro do workspace onde tanto a API quanto os itens da fonte de dados estão localizados com um papel de Contribuidor. Para obter mais informações, consulte Conceder aos usuários acesso a espaços de trabalho.

Como descobrir o ponto de extremidade da API do Livy do Fabric

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

Captura de tela mostrando o ponto de extremidades da API do Livy nas configurações do Lakehouse.

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

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

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

Integração com Ambientes do Fabric

Para cada workspace do Fabric, um pool inicial padrão é provisionado, a execução de todo o código spark usa esse pool inicial por padrão. Você pode usar Ambientes do Fabric para personalizar os trabalhos do Spark da API do Livy.

Enviar trabalhos da API do Livy

Agora que você completou a configuração da API do Livy, você poderá escolher enviar trabalhos em lote ou sessão.

Como monitorar o histórico de solicitações

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

Captura de tela mostrando os envios anteriores da API do Livy no Hub de Monitoramento.