Livy API reference for interactive sessions

GET

GET /sessions returns all active interactive sessions.

Request Parameter Description Type
from Starting index for fetching sessions int
size Number of sessions to fetch int
Response Description Type
from Starting index of fetched sessions int
total Number of sessions fetched int
sessions Session list list

The following response shows zero active sessions:

      {"from":0,"total":0,"sessions":[]}

GET /sessions/{sessionId} returns information about the specified session.

GET /sessions/{sessionId}/state returns the state of the specified session:

Response Description Type
id A non-negative integer that represents a specific session int
state Current state of the session string

GET /sessions/{sessionId}/logs retrieves log records for the specified session.

Request Parameters Description Type
from Offset int
size Maximum number of log records to retrieve int
Response Description Type
id A non-negative integer that represents a specific session int
from Offset from the start of the log file int
size Number of log records retrieved int
log Log records list of strings

GET /sessions/{sessionId}/statements returns all the statements in a session.

Response Description Type
statements List of statements in the specified session list

GET /sessions/{sessionId}/statements/{statementId} returns a specified statement in a session.

Response Description Type
statement object (for more information see "Livy Objects for Interactive Sessions") Statement statement object

POST

POST /sessions creates a new interactive Scala, Python, or R shell in the cluster.

Request Parameter Description Type
kind Session kind (required) session kind
proxyUser User ID to impersonate when starting the session string
jars Jar files to be used in this session list of strings
pyFiles Python files to be used in this session list of strings
files Other files to be used in this session list of strings
driverMemory Amount of memory to use for the driver process string
driverCores Number of cores to use for the driver process int
executorMemory Amount of memory to use for each executor process string
executorCores Number of cores to use for each executor process int
numExecutors Number of executors to launch for this session int
archives Archives to be used in this session list of strings
queue The name of the YARN queue to which the job should be submitted string
name Name of the session. This is an optional parameter. The session cannot be created if another session with the same name already exists. string
conf Spark configuration properties Map of key=value
heartbeatTimeoutInSecond Timeout in second to which session be orphaned int
Response Description Type
session object (for more information see "Livy Objects for Interactive Sessions") The created session session object

The following response shows a PySpark session in the process of starting:

      {"id":0,"state":"starting","kind":"pyspark","log":[]}

POST /sessions/{sessionId}/statements runs a statement in a session.

Request Parameter Description Type
code The code to run string
Response Description Type
statement object (for more information see "Livy Objects for Interactive Sessions") Result of an execution statement statement object

POST /sessions/{sessionId}/statements/{statementId}/cancel cancels the specified statement in the session.

Response Description Type
cancellation message Reports "cancelled" string

DELETE

DELETE /sessions/{sessionId} terminates the session.