李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
大数据
正文
03.Livy中REST API使用
Leefs
2021-06-16 AM
3078℃
2条
# 03.Livy中REST API使用 ### 前言 Livy官网REST API地址:https://livy.incubator.apache.org/docs/latest/rest-api.html 官网有详细的REST API介绍 ### 一、Session操作 使用`RestAPI`的session接口提交**代码段**方式运行 #### 1.1 Session操作接口 **1. 查询所有活跃的session信息** ``` http://127.0.0.1:8998/sessions ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | ---- | ---- | --------------------- | | from | int | 获取session的起始位置 | | size | int | 获取session数量 | 如果都为空默认查询所有sessions会话 **响应参数** | 参数 | 类型 | 描述 | | -------- | ---- | --------------------- | | from | int | 获取session的起始位置 | | total | int | 活跃session的总条数 | | sessions | list | session信息列表 | **2. 创建一个session** ``` http://127.0.0.1:8998/sessions ``` **请求分方式** POST **请求参数** | 参数 | 类型 | 描述 | | ------------------------ | -------------- | ------------------------------------------------------------ | | kind | enum | session的类别,包括:spark, pyspark, sparkr or sql | | proxyUser | String | 多用户模式下,session管理者/拥有者 | | jars | String List | session 中需要的jar包 | | pyFiles | String List | session中需要的python文件 | | files | String List | session中依赖的文件 | | driverMemory | String | driver的memory,等同于`driver-memory/spark.driver.memory` | | driverCores | int | driver的core,等同于`spark.driver.cores` | | executorMemory | String | executor的memory,等同于`executor-memory/spark.executor.memory` | | executorCores | int | executor的core,等同于`spark.executor.cores` | | numExecutors | int | executor个数 | | archives | String List | session中需要依赖的压缩文件 | | queue | String | spark on yarn环境下,任务提交的yarn queue | | name | String | session名字 | | conf | Map
| spark的configuration | | heartbeatTimeoutInSecond | int | session超时时间,单位:秒 | **响应参数** | 参数 | 类型 | 描述 | | --------- | -------------- | ------------------------------------------------- | | id | int | Session Id | | appId | String | Session的application id | | owner | String | 提交Session的用户名称 | | proxyUser | String | 多用户模式下,session管理者/拥有者 | | kind | String | session的类别,包括:spark, pyspark, sparkr or sql | | log | String List | 日志信息 | | state | String | session状态信息 | | appInfo | Map
| application详细信息 | **3. 根据id获取session详情** ``` http://127.0.0.1:8998/sessions/{sessionId} ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | --------- | ---- | ---------- | | sessionId | int | Session Id | **4. 根据id查询session状态** ``` http://127.0.0.1:8998/sessions/{sessionId}/state ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | --------- | ---- | ---------- | | sessionId | int | Session Id | **响应参数** | 参数 | 类型 | 描述 | | ----- | ------ | ------------- | | id | int | Session Id | | state | String | Session的状态 | **5. 根据id删除session** ``` http://127.0.0.1:8998/sessions/{sessionId} ``` **请求方式** DELETE **请求参数** | 参数 | 类型 | 描述 | | --------- | ---- | ---------- | | sessionId | int | Session Id | **6. 通过id查询session日志信息** ``` http://127.0.0.1:8998/sessions/{sessionId}/log ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | --------- | ---- | ------------------ | | sessionId | int | Session Id | | from | int | 日志信息的起始位置 | | size | int | 获取日志信息的条数 | **响应参数** | 参数 | 类型 | 描述 | | ----- | ----------- | ------------------ | | id | int | Session Id | | from | int | 日志信息的起始位置 | | total | int | 总条数 | | log | String List | 日志信息 | #### 1.2 代码片段操作接口 **1. 获取session中代码提交列表** ``` http://127.0.0.1:8998/sessions/{sessionId}/statements ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | --------- | ---- | ---------- | | sessionId | int | Session Id | **响应参数** | 参数 | 类型 | 描述 | | ---------------- | ---- | ---------------- | | total_statements | int | 总条数 | | statements | List | 提交代码列表信息 | **2. 提交代码片段** ``` http://127.0.0.1:8998/sessions/{sessionId}/statements ``` **请求方式** POST **请求参数** | 参数 | 类型 | 描述 | | --------- | ------ | ------------------------------------------------- | | sessionId | int | Session Id | | code | String | 需要执行的代码片段 | | kind | enum | session的类别,包括:spark, pyspark, sparkr or sql | 说明:如果在创建session时未指定kind或者需要运行代码的kind和session中指定的kind不一致时需要在此处指定代码运行的kind **响应参数** | 参数 | 类型 | 描述 | | --------- | ---------------- | ------------------ | | id | int | statement id | | code | String | 提交执行的代码片段 | | state | String | 运行状态 | | output | statement output | 代码运行结果 | | progress | double | 代码运行进度 | | started | long | 代码运行开始时间 | | completed | long | 代码运行结束时间 | **3. 获取指定statement详情** ``` http://127.0.0.1:8998/sessions/{sessionId}/statements/{statementId} ``` **请求方式** POST **请求参数** | 参数 | 类型 | 描述 | | ----------- | ---- | ------------ | | sessionId | int | Session Id | | statementId | int | Statement Id | **响应参数** 同列表详情参数相同 ### 二、batch操作 使用`RestAPI`的批处理接口提交**jar包**方式运行 **1. 获取batche列表信息** ``` http://127.0.0.1:8998/batches ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | ---- | ---- | ----------------------- | | from | int | 获取batch列表的起始位置 | | size | int | 查询条数 | **响应参数** | 参数 | 类型 | 描述 | | -------- | ---- | ----------------------- | | from | int | 获取batch列表的起始位置 | | total | int | 总条数 | | sessions | list | batch列表详情信息 | **2. batche任务提交** ``` http://127.0.0.1:8998/batches ``` **请求方式** POST **请求参数** | 参数 | 类型 | 描述 | | -------------- | -------------- | ------------------------------------------------------------ | | file | path(required) | 任务的可执行文件路径(默认识别hdfs路径) | | proxyUser | String | 多用户模式下,session管理者/拥有者 | | className | String | 任务的Main class(Java/Spark) | | args | String List | 执行代码传递的命令参数 | | pyFiles | String List | 任务中的python文件 | | files | String List | 任务依赖的文件 | | driverMemory | String | driver的memory,等同于`driver-memory/spark.driver.memory` | | driverCores | int | driver的core,等同于`spark.driver.cores` | | executorMemory | String | executor的memory,等同于`executor-memory/spark.executor.memory` | | executorCores | int | executor的core,等同于`spark.executor.cores` | | numExecutors | int | executor个数 | | archives | String List | 压缩文件 | | queue | String | spark on yarn环境下,任务提交的yarn queue | | name | String | Batch名称 | | conf | Map
| spark的configuration | **响应参数** | 参数 | 类型 | 描述 | | ------- | -------------- | ----------------------- | | id | int | Session Id | | appId | String | Session的application id | | log | String List | 日志信息 | | state | String | batch状态信息 | | appInfo | Map
| application详细信息 | **3. 根据batche id查询详情** ``` http://127.0.0.1:8998/batches/{batchId} ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | ------- | ---- | -------- | | batchId | int | batch Id | **响应参数** 通batche任务提交的响应参数相同 **4. 根据batche id获取执行状态** ``` http://127.0.0.1:8998/batches/{batchId}/state ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | ------- | ---- | -------- | | batchId | int | batch Id | **响应参数** | 参数 | 类型 | 描述 | | ----- | ------ | -------- | | id | int | batch Id | | state | String | 运行状态 | **5. 根据batche id删除batche** ``` http://127.0.0.1:8998/batches/{batchId} ``` **请求方式** DELETE **请求参数** | 参数 | 类型 | 描述 | | ------- | ---- | -------- | | batchId | int | batch Id | **6. 根据batche id获取日志信息** ``` http://127.0.0.1:8998/batches/{batchId}/log ``` **请求方式** GET **请求参数** | 参数 | 类型 | 描述 | | ---- | ---- | ----------------------- | | from | int | 获取batch列表的起始位置 | | size | int | 查询条数 | **响应参数** | 参数 | 类型 | 描述 | | ----- | ----------- | ------------------ | | id | int | batch Id | | from | int | 日志信息的起始位置 | | total | int | 总条数 | | log | String List | 日志信息 | ### 三、REST Objects **1. Session State** | Value | **Description** | | ------------- | --------------- | | not_started | 未开始 | | starting | 开始 | | idle | 等待输入 | | busy | 正在执行 | | shutting_down | 正在关闭 | | error | 执行错误 | | dead | 已经退出 | | killed | 已被杀死 | | success | 执行成功 | **2. Session Kind** | Value | **Description** | | ------- | --------------- | | spark | Scala Spark | | pyspark | Python Spark | | sparkr | R Spark | | sql | SQL Spark | **3. Statement State** | **Value** | **Description** | | ---------- | --------------- | | waiting | 等待执行 | | running | 正在执行 | | available | 准备响应 | | error | 执行错误 | | cancelling | 正在取消 | | cancelled | 已经取消 | **4. Statement Output** | Name | **Type** | **Description** | | --------------- | ------------------------------------------------------------ | --------------- | | status | String | 执行状态 | | execution_count | int | 单调递增的数 | | data | An object mapping a mime type to the result. If the mime type is ``application/json``, the value is a JSON value. | 执行结果 |
标签:
Livy
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/1261.html
上一篇
02.Livy安装教程
下一篇
01.MapReduce介绍
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
FastDFS
数学
nginx
队列
并发线程
Yarn
Beego
Netty
MySQL
JavaWEB项目搭建
Eclipse
Python
Spark RDD
并发编程
国产数据库改造
前端
链表
Java编程思想
SpringBoot
工具
查找
Shiro
字符串
Spring
JavaWeb
MyBatisX
JavaScript
LeetCode刷题
Typora
SpringCloud
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭