Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Aplica-se a:✅ Engenharia de Dados e Ciência de Dados no Microsoft Fabric
Comece a utilizar a API Livy para Engenharia de Dados em Fabric, criando um Lakehouse; autenticando com um token Microsoft Entra; descobrir o endpoint da API Livy; submeter trabalhos em lote ou sessões a partir de um cliente remoto para a computação Fabric Spark; e monitorizar os resultados.
Pré-requisitos
Capacidade Premium ou experimental do Fabric com LakeHouse
Habilitar a definição de administrador de locatário para a API do Livy (pré-visualização)
Um cliente remoto, como Visual Studio Code com suporte a notebook Jupyter, PySpark e Microsoft Authentication Library (MSAL) para Python
Pode ser um token de aplicativo do Microsoft Entra. Registar uma aplicação na plataforma de identidade da Microsoft
Ou um token SPN do Microsoft Entra. Adicionar e gerenciar credenciais de aplicativo no Microsoft Entra ID
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 Livy com um Entra SPN Token
Para trabalhar com as Fabric APIs, incluindo a Livy API, é necessário primeiro criar uma aplicação Microsoft Entra, gerar uma credencial secreta e utilizá-la no seu código. Seu aplicativo precisa ser registrado e configurado adequadamente para executar chamadas de API no Fabric. Para obter mais informações, consulte Adicionar e gerenciar credenciais de aplicativo no Microsoft Entra ID
Depois de criar o registro do aplicativo, crie um segredo do cliente.
Ao criar o segredo do cliente, certifique-se de copiar o valor. Você precisa disso mais tarde no código, e o segredo não pode ser visto novamente. Você também precisará do ID do aplicativo (cliente) e do diretório (ID do locatário), além do segredo em seu código.
Em seguida, precisamos adicionar o segredo do cliente ao nosso espaço de trabalho.
Procure o segredo do cliente Entra, adicione esse segredo ao espaço de trabalho e verifique se o segredo recém-adicionado tem permissões de administrador.
Como autorizar as solicitações da API Livy com um token de aplicativo Entra
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
Workspace.ReadWrite.All
Nota
Durante a visualização pública, esses escopos podem mudar à medida que adicionamos alguns escopos mais granulares. Quando essas alterações de escopo acontecem, seu aplicativo Livy pode quebrar. 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.Tudo
- Workspace.ReadWrite.All
- Notebook.ReadWrite.All
- SparkJobDefinition.ReadWrite.All
- MLModel.ReadWrite.All
- MLExperiment.ReadWrite.All
- Dataset.ReadWrite.All
Quando registar a sua aplicação, irá precisar tanto do ID da Aplicação (cliente) como do ID do Diretório (inquilino).
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
É necessário um artefato Lakehouse para aceder ao endpoint 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/
A URL é anexada com <sessões> ou <lotes>, dependendo do que escolheres.
Baixe os arquivos do Livy API Swagger
Os ficheiros Swagger completos para a API Livy estão disponíveis aqui.
Enviar trabalhos da 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.
Integração com ambientes de malha
Por padrão, essa sessão da API Livy é executada no pool inicial padrão para o espaço de trabalho. Como alternativa, você pode usar ambientes de malha Criar, configurar e usar um ambiente no Microsoft Fabric para personalizar o pool do Spark que a sessão da API do Livy usa para esses trabalhos do Spark.
Para usar um ambiente de malha em uma sessão do Livy Spark, basta atualizar o json para incluir essa carga.
create_livy_session = requests.post(livy_base_url, headers = headers, json={
"conf" : {
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
}
)
Para usar um Fabric Environment numa sessão em lote do Livy Spark, basta atualizar o payload JSON conforme ilustrado abaixo.
payload_data = {
"name":"livybatchdemo_with"+ newlakehouseName,
"file":"abfss://YourABFSPathToYourPayload.py",
"conf": {
"spark.targetLakehouse": "Fabric_LakehouseID",
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID"\"}" # remove this line to use starter pools instead of an environment, replace "EnvironmentID" with your environment ID
}
}
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
- Comece com as configurações de administrador para a sua capacidade do Fabric
- 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 do Fabric
- Visão geral do monitoramento do Apache Spark
- Detalhes da aplicação Apache Spark