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 | 工作區標識碼。 |
| 項目編號 | 路徑 | 對 | 字串 UUID | 筆記本、Spark 工作定義或 Lakehouse 的項目 ID。 |
| livyId | 路徑 | 對 | 字串 UUID | Livy 會話 ID。 |
| 應用程式ID | 路徑 | 對 | 字串 | Spark 應用程式識別碼,例如 application_1704417105000_0001。 |
| attemptId | 路徑 | 否 | 整數 (int) | 該應用程式 ID 的嘗試 ID。 若未指定,則會使用最後嘗試的識別碼。 |
範例
範例要求 1:取得 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
範例回應 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/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
範例回應 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/ddddeeee-3333-ffff-4444-aaaa5555bbbb/notebooks/eeeeffff-4444-aaaa-5555-bbbb6666cccc/livySessions/ffffaaaa-5555-bbbb-6666-cccc7777dddd/applications/application_1741176604085_0001/1/logs
範例回應 3
因為無法讀取的代碼,所以沒有顯示。