다음을 통해 공유


Apache Spark 오픈 소스 API를 사용하여 Spark 애플리케이션 세부 정보 가져오기

Fabric Spark 기록 서버 API는 Spark 오픈 소스 모니터링 REST API와 동일한 구조, 쿼리 매개 변수 및 계약을 따르고 기본 애플리케이션 정보, 단계, 작업, 작업, 실행기, 스토리지, 스트리밍 등을 포함하여 Spark 애플리케이션 세부 정보를 검색하기 위한 동일한 엔드포인트 집합을 제공합니다.

비고

모든 애플리케이션 목록을 검색하는 /applications 엔드포인트와 현재 Spark 버전을 가져오는 /version 엔드포인트는 여기에서 지원되지 않는 유일한 엔드포인트입니다. 그러나 /applications 엔드포인트의 대안으로 사용 가능한 다른 모니터링 API를 사용하여 특정 패브릭 작업 영역 또는 항목에 대한 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 ID 지원합니다.

아이덴티티 지원
사용자
서비스 주체관리 ID

인터페이스

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 (workspaceId) 진실 문자열 uuid 작업 영역 ID입니다.
아이템 ID 진실 문자열 uuid 노트북, Spark 작업 정의 또는 Lakehouse의 항목 ID입니다.
livyId 진실 문자열 uuid Livy 세션 ID입니다.
appId (앱 ID) 진실 문자열 application_1704417105000_0001 같은 Spark 애플리케이션 ID입니다.
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

읽을 수 없는 코드이므로 표시되지 않음