Get a Spark application
curl --request GET \
--url https://api.example.com/api/monitoring/spark/apps/{app} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/monitoring/spark/apps/{app}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/monitoring/spark/apps/{app}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/monitoring/spark/apps/{app}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/monitoring/spark/apps/{app}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/monitoring/spark/apps/{app}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/monitoring/spark/apps/{app}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"row": {
"app_key": "<string>",
"app_id": "<string>",
"name": "<string>",
"spark_user": "<string>",
"source_kind": "airflow",
"status": "succeeded",
"duration_ms": 123,
"executors": 123,
"tasks": 123,
"failed_tasks": 123,
"input_bytes": 123,
"shuffle_read_bytes": 123,
"disk_spill_bytes": 123,
"executor_core_ms": 123,
"attempt": "<string>",
"source_ref": "",
"started_at": "<string>",
"ended_at": "<string>",
"spark_version": "",
"health_score": 123,
"top_severity": "critical",
"signal_count": 0,
"badges": [
{
"key": "<string>",
"severity": "critical",
"label": "<string>"
}
],
"in_progress": false,
"truncated": false,
"parse_error": "",
"log_present": true,
"parsed_at": "<string>"
},
"available": true,
"app": {},
"source": {},
"resources": {},
"totals": {},
"jobs": [
{}
],
"stages": [
{}
],
"executors": [
{}
],
"timeline": [
{}
],
"sql": [
{}
],
"plan_features": {},
"config": {},
"hadoop_config": {},
"parse": {},
"signals": [
{
"key": "<string>",
"category": "<string>",
"severity": "critical",
"title": "<string>",
"detail": "<string>",
"recommendation": "<string>",
"evidence": {},
"stage_ids": [
123
],
"config": {}
}
],
"health": {
"score": 123,
"label": "healthy",
"categories": [
{
"key": "<string>",
"label": "<string>",
"score": 123
}
]
}
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Monitor
Get a Spark application
One application: stages, executors, jobs, SQL executions (without plans), redacted settings, its signals and health score.
GET
/
api
/
monitoring
/
spark
/
apps
/
{app}
Get a Spark application
curl --request GET \
--url https://api.example.com/api/monitoring/spark/apps/{app} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.example.com/api/monitoring/spark/apps/{app}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.example.com/api/monitoring/spark/apps/{app}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/api/monitoring/spark/apps/{app}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/api/monitoring/spark/apps/{app}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/api/monitoring/spark/apps/{app}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/monitoring/spark/apps/{app}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"row": {
"app_key": "<string>",
"app_id": "<string>",
"name": "<string>",
"spark_user": "<string>",
"source_kind": "airflow",
"status": "succeeded",
"duration_ms": 123,
"executors": 123,
"tasks": 123,
"failed_tasks": 123,
"input_bytes": 123,
"shuffle_read_bytes": 123,
"disk_spill_bytes": 123,
"executor_core_ms": 123,
"attempt": "<string>",
"source_ref": "",
"started_at": "<string>",
"ended_at": "<string>",
"spark_version": "",
"health_score": 123,
"top_severity": "critical",
"signal_count": 0,
"badges": [
{
"key": "<string>",
"severity": "critical",
"label": "<string>"
}
],
"in_progress": false,
"truncated": false,
"parse_error": "",
"log_present": true,
"parsed_at": "<string>"
},
"available": true,
"app": {},
"source": {},
"resources": {},
"totals": {},
"jobs": [
{}
],
"stages": [
{}
],
"executors": [
{}
],
"timeline": [
{}
],
"sql": [
{}
],
"plan_features": {},
"config": {},
"hadoop_config": {},
"parse": {},
"signals": [
{
"key": "<string>",
"category": "<string>",
"severity": "critical",
"title": "<string>",
"detail": "<string>",
"recommendation": "<string>",
"evidence": {},
"stage_ids": [
123
],
"config": {}
}
],
"health": {
"score": 123,
"label": "healthy",
"categories": [
{
"key": "<string>",
"label": "<string>",
"score": 123
}
]
}
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"error": "<string>",
"code": 500
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
OAuth2AuthorizationCodeBearerAPIKeyHeader
The access token received from the authorization server in the OAuth 2.0 flow.
Path Parameters
The application id (or its log name, with the attempt).
Required string length:
1 - 255Pattern:
^[A-Za-z0-9][A-Za-z0-9_.:-]*$Response
Successful Response
One application: everything but each SQL plan's text and nodes.
One application in the list.
Show child attributes
Show child attributes
False when the log couldn't be read or parsed.
SQL executions without plan text or nodes.
Show child attributes
Show child attributes
Redacted.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?

