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
Capacidade Fabric Premium ou Trial com uma LakeHouse
Habilitar a configuração de administrador de locatário para a API do Livy (visualização)
Um cliente remoto, como Visual Studio Code com suporte a notebook Jupyter, PySpark e Microsoft Authentication Library (MSAL) para Python
Um token de aplicativo Microsoft Entra é necessário para acessar a API Fabric Rest. Registar uma aplicação na plataforma de identidade da Microsoft
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
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).
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.
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.
Conteúdos relacionados
- Documentação da API REST do Apache Livy
- Introdução às configurações de administrador para sua capacidade de malha
- Configurações de administração do espaço de trabalho do Apache Spark no Microsoft Fabric
- Registar uma aplicação na plataforma de identidade da Microsoft
- Visão geral de permissão e consentimento do Microsoft Entra
- Escopos da API REST de malha
- Visão geral do monitoramento do Apache Spark
- Detalhes da aplicação Apache Spark