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.
