使用 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 参数

名字 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。
文件名 query True 字符串 要获取其元数据的特定文件名。

请求主体

没有

反应

名字 类型 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/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 参数

名字 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。
filenamePrefix query 字符串 要筛选的日志文件名称的前缀,可以是“stdout”或“stderr”。
offset、maxResults query 整数 (int) 要获取的起始索引和日志文件数:
- 对于偏移量,它从 0 开始。 有效范围是 0 到 20,000。 默认值为 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_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 参数

名字 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。
文件名 query True 字符串 要获取其内容的特定文件名
容器ID query 字符串 特定的驱动程序容器 ID。 如果不确定驱动程序容器 ID 是什么,请将其保留在未指定状态。
isDownload query 布尔 如果为 True,则下载日志文件作为流。 默认值为 false。
isPartial query 布尔 仅在 isDownload 为 true 时生效。 如果为 True,则根据给定的偏移量和大小下载部分文件内容。 默认为 false,表示下载整个文件。
offset, size query 长整型 要读取文件内容的起始偏移量(以字节为单位)和大小(以字节为单位)。 仅当 isDownload = true 且 isPartial = true 时才生效
- 对于偏移量,它从 0 开始。 有效范围是 0 到 20,000。 默认值为 0。
- 对于大小,默认值为 1M (1024*1024) 字节。

请求主体

没有

反应

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

例子

示例请求

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=driver&fileName=stderr&isDownload=true&isPartial=true&offset=100&size=1000

定义

ContainerLogMeta

对象

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

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