Obter detalhes do aplicativo Spark usando APIs do Apache Spark Open-Source

As APIs do Fabric Spark History Server seguem a mesma estrutura, parâmetros de consulta e acordo que a API REST de monitorização do Spark de código aberto e fornecem o mesmo conjunto de endpoints para recuperar detalhes da aplicação Spark, incluindo informações básicas da aplicação, estágios, tarefas, executores, armazenamento, streaming, e mais.

Observação

O ponto de extremidade /applications, que recupera uma lista de todos os aplicativos, e o ponto de extremidade /version, que obtém a versão atual do Spark, são os únicos pontos de extremidade não suportados aqui. No entanto, como alternativa ao endpoint /applications, pode-se obter uma lista de aplicações Spark para um espaço de trabalho específico ou item do Fabric usando APIs de monitorização disponíveis.

Permissões

O chamador deve ter permissão de "leitura" no item.

Escopos delegados necessários

Item.Read.All ou Item.ReadWrite.All ou um dos três grupos a seguir (de acordo com o item que disparou o aplicativo Spark)

  • Notebook.Ler.Tudo ou Notebook.LerEscrever.Tudo
  • SparkJobDefinition.Read.All ou SparkJobDefinition.ReadWrite.All
  • Lakehouse.Read.All ou Lakehouse.ReadWrite.All

Identidades suportadas pelo Entra da Microsoft

Esta API suporta as identidades do Microsoft listadas nesta secção.

Identidade Apoio
Utilizador Sim
Entidade de serviço e identidades geridas Sim

Interfaz

Com ID de tentativa:

GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/{attemptId}/...

Sem identificador de tentativa:

GET https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/...

Parâmetros de URI

Nome Em Obrigatório Tipo Descrição
idDoEspaçoDeTrabalho caminho Verdade string UUID (Identificador Unificado Universal) O ID do espaço de trabalho.
itemId caminho Verdade string UUID (Identificador Unificado Universal) O identificador do item do bloco de anotações, da definição de trabalho do Spark ou do Lakehouse.
livyId caminho Verdade string UUID (Identificador Unificado Universal) O ID da sessão do Livy.
ID do aplicativo caminho Verdade cadeia (de caracteres) O ID do aplicativo Spark, como application_1704417105000_0001.
ID de tentativa caminho Falso Int O ID de tentativa dessa ID de aplicação. Se não for especificado, o ID da última tentativa será usado.

Exemplos

Solicitação de amostra 1: obter detalhes de um trabalho específico em um aplicativo Spark

GET https://api.fabric.microsoft.com/v1/workspaces/aaaabbbb-0000-cccc-1111-dddd2222eeee/notebooks/bbbbcccc-1111-dddd-2222-eeee3333ffff/livySessions/ccccdddd-2222-eeee-3333-ffff4444aaaa/applications/application_1742369571479_0001/jobs/1 

Resposta da amostra 1

Código de status: 200

{ 
    "jobId": 1, 
    "name": "save at <console>:38", 
    "description": "Accelerate the processing of subsequent queries", 
    "submissionTime": "2025-03-19T07:33:40.386GMT", 
    "completionTime": "2025-03-19T07:33:46.102GMT", 
    "stageIds": [ 
                    1, 
                    2 
                ], 
    "jobGroup": "SystemJob", 
    "jobTags": [], 
    "status": "SUCCEEDED", 
    "numTasks": 4, 
    "numActiveTasks": 0, 
    "numCompletedTasks": 1, 
    "numSkippedTasks": 3, 
    "numFailedTasks": 0, 
    "numKilledTasks": 0, 
    "numCompletedIndices": 1, 
    "numActiveStages": 0, 
    "numCompletedStages": 1, 
    "numSkippedStages": 1, 
    "numFailedStages": 0, 
    "killedTasksSummary": {} 
} 

Solicitação de exemplo 2: obter detalhes de uma consulta SQL específica em um aplicativo Spark

GET  https://api.fabric.microsoft.com/v1/workspaces/aaaabbbb-0000-cccc-1111-dddd2222eeee/notebooks/bbbbcccc-1111-dddd-2222-eeee3333ffff/livySessions/ccccdddd-2222-eeee-3333-ffff4444aaaa/applications/application_1742369571479_0001/sql/1?details=false 

Resposta da amostra 2

Código de status: 200

{ 
    "id": 1, 
    "status": "COMPLETED", 
    "description": "Accelerate the processing of subsequent queries", 
    "planDescription": "== Physical Plan ==\nLocalTableScan (1)\n\n\n(1) LocalTableScan\nOutput [2]: [CommonName#7, ScientificName#8]\nArguments: [CommonName#7, ScientificName#8]\n\n", 
    "submissionTime": "2025-03-19T07:33:38.090GMT", 
    "duration": 8020, 
    "runningJobIds": [], 
    "successJobIds": [ 
                0, 
                1 
        ], 
    "failedJobIds": [], 
    "nodes": [], 
    "edges": [] 
} 

Solicitação de amostra 3: Obter log de eventos de uma tentativa específica em um aplicativo Spark

GET https://api.fabric.microsoft.com/v1/workspaces/ddddeeee-3333-ffff-4444-aaaa5555bbbb/notebooks/eeeeffff-4444-aaaa-5555-bbbb6666cccc/livySessions/ffffaaaa-5555-bbbb-6666-cccc7777dddd/applications/application_1741176604085_0001/1/logs  

Resposta da amostra 3

Não mostrado porque é um código ilegível