使用 Spark 监视 API 获取 Spark 执行程序日志

本文介绍如何获取 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 标识

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

获取执行程序日志元数据

获取 Spark 应用程序中执行器日志文件的元数据。

接口

具有 attemptId

https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/{attemptId}/logs?type=executor&meta=true

没有 attemptId

https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/logs?type=executor&meta=true

具有可选参数:

具有 attemptId

https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/{attemptId}/logs?type=executor&meta=true&filenamePrefix={filenamePrefix}&offset={offset}&maxResults={maxResults}

没有 attemptId

https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/logs?type=executor&meta=true&containerId={containerId}&filenamePrefix={filenamePrefix}&offset={offset}&maxResults={maxResults}

URI 参数

名字 In 必选 类型 DESCRIPTION
workspaceId 路径 True 字符串 uuid 工作区 ID。
项目编号 路径 True 字符串 uuid 笔记本、Spark 作业定义或湖屋的项 ID。
livyId 路径 True 字符串 uuid Livy 会话 ID。
应用程序ID 路径 True 字符串 Spark 应用程序 ID,例如 application_1704417105000_0001。
attemptId 路径 整数 (int) 该应用程序 ID 的尝试 ID。 如果未指定,则使用上一次尝试的 ID。
容器ID query 字符串 要筛选的特定容器 ID。 如果未指定,则不对容器 ID 应用任何筛选器。
filenamePrefix query 字符串 要筛选的日志文件名称的前缀。 如果未指定,则不对文件名应用任何筛选器。
offset、maxResults query 整数 (int) 要获取的起始索引和日志文件数:
- 对于 offset,最小值为 0。 默认值为 0。
- 对于 maxResults,有效范围为 1 到 3,000。 默认值为 3,000

反应

名字 类型 DESCRIPTION
200 正常 ContainerLogMeta 列表 请求成功完成

例子

示例请求

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/application/application_1724388946961_0001/logs?type=executor&meta=true&filenamePrefix=stdout 

示例响应

状态代码:200

[ 
      { 
         "containerId": "container_1724388946961_0001_01_000001", 
         "nodeId": "vm-fa250420:38259", 
         "containerLogMeta": [ 
            { 
               "fileName": "stdout", 
               "fileSize": "508", 
               "lastModifiedTime": "Fri Aug 23 04:56:14 +0000 2024" 
            },
            { 
               "fileName": "stdout-active", 
               "fileSize": "0", 
               "lastModifiedTime": "Fri Aug 23 04:56:14 +0000 2024" 
            }
      ]
   }, 
   { 
         "containerId": "container_1724388946961_0001_01_000002", 
         "nodeId": "vm-90240157:35195", 
         "containerLogMeta": [ 
         { 
            "fileName": "stdout", 
            "fileSize": "508", 
            "lastModifiedTime": "Fri Aug 23 04:56:45 +0000 2024" 
         },
         { 
            "fileName": "stdout-active", 
            "fileSize": "0", 
            "lastModifiedTime": "Fri Aug 23 04:56:47 +0000 2024" 
         }
      ] 
   },
   {
         "containerId": "container_1724388946961_0001_01_000003", 
         "nodeId": "vm-fa250420:38259", 
         "containerLogMeta": [ 
         {
            "fileName": "stdout", 
            "fileSize": "508", 
            "lastModifiedTime": "Fri Aug 23 04:56:39 +0000 2024" 
         },
         {
            "fileName": "stdout-active", 
            "fileSize": "0", 
            "lastModifiedTime": "Fri Aug 23 04:56:41 +0000 2024" 
         } 
      ] 
   } 
] 

获取执行程序日志内容

获取 Spark 应用程序的执行程序日志文件内容。

接口

没有 attemptId

https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/logs?type=executor&containerId={containerId}&fileName={fileName}

具有可选参数:

没有 attemptId

https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/logs?type=executor&containerId={containerId}&fileName={fileName}&size={size}

URI 参数

名字 In 必选 类型 DESCRIPTION
workspaceId 路径 True 字符串 uuid 工作区 ID。
项目编号 路径 True 字符串 uuid 笔记本、Spark 作业定义或湖屋的项 ID。
livyId 路径 True 字符串 uuid Livy 会话 ID。
应用程序ID 路径 True 字符串 Spark 应用程序 ID,例如 application_1704417105000_0001。
容器ID query True 字符串 托管执行程序的特定容器 ID。
文件名 query True 字符串 要获取其内容的特定文件名
大小 query 长整型 要从文件内容开头读取的大小(以字节为单位)。 默认值为 1 M (1024*1024) 字节

例子

示例请求

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/application/application_1731308630223_0001/logs?type=executor&containerId=container_1704417105000_0001_01_000001&fileName=stdout