使用 Apache Spark 开源 API 获取 Spark 应用程序详细信息

Fabric Spark History Server API 遵循与 Spark 开源监视 REST API 相同的结构、查询参数和协定,并提供用于检索 Spark 应用程序详细信息的相同终结点集,包括基本应用程序信息、阶段、作业、任务、执行程序、存储、流式处理等。

注释

/applications 终结点检索所有应用程序的列表,以及获取当前 Spark 版本的 /version 终结点是此处不支持的唯一终结点。 但是,作为 /applications 终结点的替代方法,可以使用其他可用的监视 API 获取特定 Fabric 工作区或项的 Spark 应用程序列表。

权限

调用方必须对项具有“读取”权限

所需的委托范围

Item.Read.All 或 Item.ReadWrite.All,或者下列三个组之一(具体取决于触发 Spark 应用程序的项)

  • Notebook.Read.All 或 Notebook.ReadWrite.All
  • SparkJobDefinition.Read.All 或 SparkJobDefinition.ReadWrite.All
  • Lakehouse.Read.All 或 Lakehouse.ReadWrite.All

Microsoft Entra 支持的标识

此 API 支持本节中列出的Microsoft 标识

身份 支持
用户 是的
服务主体托管标识 是的

接口

有 attemptId:

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

没有 attemptId:

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

URI 参数

名字 位置 必选 类型 说明
工作区ID 路径 真 实 字符串 uuid 工作区 ID。
项目编号 路径 真 实 字符串 uuid 笔记本、Spark 作业定义或湖屋的项 ID。
livyId 路径 真 实 字符串 uuid Livy 会话 ID。
应用程序ID 路径 真 实 字符串 Spark 应用程序 ID,例如 application_1704417105000_0001。
attemptId 路径 整数 (int) 该应用程序 ID 对应的尝试 ID。 如果未指定,则使用上一次尝试的 ID。

例子

示例请求 1:获取 Spark 应用程序中特定作业的详细信息

GET https://api.fabric.microsoft.com/v1/workspaces/00bb0307-033d-415b-9917-e0b19df28539/notebooks/46884990-6ea1-4dbf-93e5-daf2608930d6/livySessions/b90eee82-765c-4393-b3da-2a11eeb73b34/applications/application_1742369571479_0001/jobs/1 

示例响应 1

状态代码: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": {} 
} 

示例请求 2:获取 Spark 应用程序中特定 SQL 查询的详细信息

GET  https://api.fabric.microsoft.com/v1/workspaces/00bb0307-033d-415b-9917-e0b19df28539/notebooks/46884990-6ea1-4dbf-93e5-daf2608930d6/livySessions/b90eee82-765c-4393-b3da-2a11eeb73b34/applications/application_1742369571479_0001/sql/1?details=false 

示例响应 2

状态代码: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": [] 
} 

示例请求 3:获取 Spark 应用程序中特定尝试的事件日志

GET https://api.fabric.microsoft.com/v1/workspaces/6e335e92-a2a2-4b5a-970a-bd6a89fbb765/notebooks/cfafbeb1-8037-4d0c-896e-a46fb27ff229/livySessions/431e8d7b-4a95-4c02-8ccd-6faef5ba1bd7/applications/application_1741176604085_0001/1/logs  

示例响应 3

未显示,因为它不可读代码