使用 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=driver&meta=true&fileName={fileName} 

没有 attemptId

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

URI 参数

名字 必选 类型 DESCRIPTION
工作区ID 路径 真 实 字符串 uuid 工作区 ID。
项目编号 路径 真 实 字符串 uuid 笔记本、Spark 作业定义或湖屋的项 ID。
livyId 路径 真 实 字符串 uuid Livy 会话 ID。
应用程序ID 路径 真 实 字符串 Spark 应用程序 ID,例如 application_1704417105000_0001。
attemptId 路径 整数 (int) 该应用程序 ID 的尝试 ID。 如果未指定,则使用上一次尝试的 ID。
文件名 查询 真 实 字符串 要获取其元数据的特定文件名。

请求主体

没有

反应

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

例子

示例请求

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_1741176604085_0001/logs?type=driver&meta=true&fileName=stderr 

示例响应

状态代码:200

{ 
   "containerId": "container_1741176604085_0001_01_000001", 
   "nodeId": "vm-76895939:44851" 
   "containerLogMeta": { 
      "fileName": "stderr", 
      "length": 99067, 
      "lastModified": "2025-03-05T12:31:31.000GMT", 
      "creationTime": "2025-03-05T10:30:30.000GMT", 
      "metaData": {} 
   } 
} 

获取驱动程序滚动日志元数据

获取 Spark 应用程序的驱动程序滚动日志文件的元数据。

接口

具有 attemptId

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

没有 attemptId

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

具有可选参数:

具有 attemptId

https://api.fabric.microsoft.com/v1/workspaces/{workspaceId}/notebooks|sparkJobDefinitions|lakehouses/{itemId}/livySessions/{livyId}/applications/{appId}/{attemptId}/logs?type=rollingdriver&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=rollingdriver&meta=true&filenamePrefix={filenamePrefix}&offset={offset}&maxResults={maxResults}

URI 参数

名字 必选 类型 DESCRIPTION
工作区ID 路径 真 实 字符串 uuid 工作区 ID。
项目编号 路径 真 实 字符串 uuid 笔记本、Spark 作业定义或湖屋的项 ID。
livyId 路径 真 实 字符串 uuid Livy 会话 ID。
应用程序ID 路径 真 实 字符串 Spark 应用程序 ID,例如 application_1704417105000_0001。
attemptId 路径 整数 (int) 该应用程序 ID 的尝试 ID。 如果未指定,则使用上一次尝试的 ID。
文件名前缀 查询 字符串 要筛选的日志文件名称的前缀,可以是“stdout”或“stderr”。
offset、maxResults 查询 整数 (int) 要获取的起始索引和日志文件数:
- 对于偏移量,它从 0 开始。 有效范围是 0 到 20,000。 默认值为 0。
- 对于 maxResults,有效范围为 1 到 3,000。 默认值为 3,000。

请求主体

没有

反应

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

例子

示例请求

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/application/application_1725346176782_0001/logs?type=rollingdriver &meta=true&filenamePrefix=stderr

示例响应

状态代码:200

{
	"containerId": "container_1725346176782_0001_01_000001",
	"nodeId": "vm-fe289417:42885",
	"containerLogMeta": [
		{
			"fileName": "stderr",
			"length": 205541,
			"lastModified": "2024-09-03T07:10:31.000GMT",
			"metaData": {}
		},
		{
			"fileName": "stderr-2024-09-03-06",
			"length": 100030,
			"lastModified": "2024-09-03T06:50:45.000GMT",
			"metaData": {}
		},
		{
			"fileName": "stderr-active",
			"length": 105511,
			"lastModified": "2024-09-03T07:10:31.000GMT",
			"metaData": {}
		}
	]
}

获取驱动程序日志内容

获取 Spark 应用程序的驱动程序日志文件内容。

接口

具有 attemptId

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

没有 attemptId

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

具有可选参数:

具有 attemptId

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

没有 attemptId

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

URI 参数

名字 必选 类型 DESCRIPTION
工作区ID 路径 真 实 字符串 uuid 工作区 ID。
项目编号 路径 真 实 字符串 uuid 笔记本、Spark 作业定义或湖屋的项 ID。
livyId 路径 真 实 字符串 uuid Livy 会话 ID。
应用程序ID 路径 真 实 字符串 Spark 应用程序 ID,例如 application_1704417105000_0001。
attemptId 路径 整数 (int) 该应用程序 ID 的尝试 ID。 如果未指定,则使用上一次尝试的 ID。
文件名 查询 真 实 字符串 要获取其内容的特定文件名
容器ID 查询 字符串 特定的驱动程序容器 ID。 如果不确定驱动程序容器 ID 是什么,请将其保留在未指定状态。
isDownload 查询 布尔 如果为 True,则下载日志文件作为流。 默认值为 false。
是部分的 查询 布尔 仅在 isDownload 为 true 时生效。 如果为 True,则根据给定的偏移量和大小下载部分文件内容。 默认为 false,表示下载整个文件。
offset、size 查询 长整型 要读取文件内容的起始偏移量(以字节为单位)和大小(以字节为单位)。 仅当 isDownload = true 且 isPartial = true 时才生效
- 对于偏移量,它从 0 开始。 有效范围是 0 到 20,000。 默认值为 0。
- 对于大小,默认值为 1M (1024*1024) 字节。
请注意,参数“offset”仅在 Spark 应用程序仍在运行时有效。 应用程序停止运行后,参数将不起作用。 请考虑改用滚动驱动程序日志。

请求主体

没有

反应

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

例子

示例请求

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/application/application_1731308630223_0001/logs?type=driver&fileName=stderr&isDownload=true&isPartial=true&offset=100&size=1000

定义

ContainerLogMeta

对象

包含相应容器和节点信息的日志文件的元数据

名字 类型 DESCRIPTION
容器ID 字符串 托管驱动程序或执行程序的容器 ID
nodeId 字符串 容器所在位置的节点 ID
containerLogMeta 单个 FileMetaFileMeta 列表 文件的元数据或文件列表