Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Aplica-se a:✅ Engenharia e Ciência de Dados no Microsoft Fabric
Comece a usar a API Livy para Engenharia de Dados do Fabric criando um Lakehouse; autentique-se com um token do Microsoft Entra; descubra o endpoint da API Livy; envie trabalhos em lote ou de sessão a partir de um cliente remoto para os recursos de computação do Fabric Spark; e monitore os resultados.
Pré-requisitos
Capacidade Premium ou de Teste do Fabric com um LakeHouse
Habilite a Configuração de Administrador do Locatário para a API do Livy (versão prévia)
Um cliente remoto como o Visual Studio Code com suporte para Jupyter Notebooks, PySpark, e Microsoft Authentication Library (MSAL) para Python
Um token de aplicativo do Microsoft Entra. Registrar um aplicativo na plataforma de identidade da Microsoft
Ou um token SPN do Microsoft Entra. Adicionar e gerenciar credenciais de aplicativo na ID do Microsoft Entra
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, usamos do 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 com um Token SPN do Entra
Para trabalhar com APIs do Fabric, incluindo a API Livy, primeiro você precisa criar um aplicativo do Microsoft Entra, gerar um segredo e usá-lo em 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 na ID do Microsoft Entra
Depois de criar o registro do aplicativo, crie um segredo do cliente.
Ao criar o segredo do cliente, copie o valor. Você precisa disso mais tarde no código e o segredo não pode ser visto novamente. Você também precisará da 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 workspace.
Pesquise o segredo do cliente entra e adicione esse segredo ao workspace 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 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. Este exemplo usa código Spark simples + acesso de armazenamento + SQL:
Code.AccessAzureDataExplorer.All
Code.AccessAzureDataLake.All
Code.AccessAzureKeyvault.All
Code.AccessFabric.All
Code.AccessStorage.All
Item.ReadWrite.All
Lakehouse.Execute.All
Workspace.ReadWrite.All
Observação
Durante a visualização pública, esses escopos podem ser alterados à medida que adicionamos mais alguns escopos granulares. Quando essas alterações de escopo acontecem, seu aplicativo Livy pode ser interrompido. Verifique esta 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
Ao registrar seu aplicativo, você precisará da ID do Aplicativo (cliente) e da ID do Diretório (inquilino).
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 endpoint da API Livy do Fabric
Um artefato Lakehouse é necessário para acessar o endpoint Livy. Assim que o Lakehouse é criado, o endpoint da API Livy pode ser localizado no painel de configurações.
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.
Baixar os arquivos Swagger da API Livy
Os arquivos completos do Swagger para a API livy estão disponíveis aqui.
Enviar trabalhos para a API do Livy
Agora que a instalação da API livy está concluída, você pode optar por enviar trabalhos em lote ou de sessão.
Integração com ambientes do Fabric
Por padrão, essa sessão da API livy é executada no pool inicial padrão do workspace. Como alternativa, você pode usar Ambientes do Fabric criar, configurar e usar um ambiente no Microsoft Fabric para personalizar o pool do Spark que a sessão da API Livy usa para esses trabalhos do Spark.
Para usar um Ambiente do Fabric em uma sessão do Livy Spark, basta atualizar o json para incluir essa carga útil.
create_livy_session = requests.post(livy_base_url, headers = headers, json={
"conf" : {
"spark.fabric.environmentDetails" : "{\"id\" : \""EnvironmentID""}"}
}
)
Para usar um Ambiente do Fabric em uma sessão em lotes do Livy Spark, basta atualizar o conteúdo json, conforme mostrado 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 do Livy e depurar quaisquer erros de envios.
Conteúdo relacionado
- Documentação API REST Apache Livy
- Comece com as configurações de administrador para sua Capacidade do Fabric
- Configurações de administração do espaço de trabalho do Apache Spark no Microsoft Fabric
- Registrar um aplicativo na plataforma de identidade da Microsoft
- Visão geral de permissões e consentimentos do Microsoft Entra
- Escopos da API REST do Fabric
- Visão geral do monitoramento do Apache Spark
- Detalhes do aplicativo Apache Spark