Livy REST API使用教程
Livy概述
用过Spark的朋友对Livy一定不陌生,Livy是Apache Spark下的一个REST服务,通过Livy,你只要可以发送Http请求,就可以提交Spark任务。Livy在很多Spark数据平台上都作为一个提交任务的重要工具,你可以不知道Livy是怎么工作的,但是你不能不知道Livy是如何使用的。这里我们重点介绍下如何使用Livy的REST API来提交Spark任务,当然首先你得对Spark submit有一定的了解,不然就先移步Spark submit wiki。
Livy交互式的任务提
交互式的任务提交大家应该都不陌生,debug模式下我们一般都会用到这种方式来测试验证你的脚本逻辑。通俗点解释就是每次发送一条命令到Spark,就会就会收到Spark执行完这条命令的结果。在Livy中,一个交互式的spark任务,称作session。发送http post请求即可完成。
Livy交互式提交的参数:
参数 | 类型 | 描述 |
---|---|---|
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 | 压缩文件 |
queue | string | spark on yarn环境下,任务提交的yarn queue |
name | string | session名字 |
conf | Map<key,value> | spark的configuration |
heartbeatTimeoutInSecond | int | session超时时间,秒 |
Livy批处理的任务提交
批处理模式的任务提交,经常是用于可以上生产环境的任务提交。Spark和Livy都管这种类型叫做Batch任务。
同样的,Livy也为Batch任务提供了REST API,只需要通过发送http post请求就可以提交你的Batch任务。
Livy Batch任务提交参数:
参数 | 类型 | 描述 |
---|---|---|
file | path(required) | 任务的可执行文件路径 |
proxyUser | string | 任务管理者/拥有者 |
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 | session名字 |
conf | Map<key,value> | spark的configuration |
使用样例
样例一:Livy的交互式提交
样例二:Livy的批处理提交
总结
Livy的使用其实不仅限于以上提到的REST API,以上主要是介绍了如何提交,Livy还提供了丰富的REST API用于管理和监控你的任务。当然Livy也提供了丰富的API(Programmatic/Java/Scala)。感兴趣的可以直接阅读Livy Apache官网。
Livy REST API使用教程相关推荐
- Windows下Libvirt Java API使用教程(二)- 接口使用说明
介绍完libvirt Java API的部署工作: <Windows下Libvirt Java API使用教程(一)- 开发环境部署> 接下来我们就介绍一下接口的使用和代码样例. libv ...
- Windows下Libvirt Java API使用教程(三)- TLS认证访问和动态链接文件依赖
之前已经介绍过了libvirt api的上手使用方式: <Windows下Libvirt Java API使用教程(二)- 接口使用说明> <Windows下Libvirt Java ...
- larvel 中的api.php_Laravel API 系列教程(一): 基于 Laravel 5.5 构建 测试 RESTful API...
Laravel API 系列教程(一): 基于 Laravel 5.5 构建 & 测试 RESTful API 由 学院君 创建于2年前, 最后更新于 9个月前 版本号 #3 171702 v ...
- Ocelot Api网关教程(9)- QoS
本文介绍Ocelot中的QoS(Quality of Service),其使用了Polly对超时等请求下游失败等情况进行熔断. 1.添加Nuget包 添加 Ocelot.Provider.Polly ...
- .Netcore 2.0 Ocelot Api网关教程(8)- 缓存
Ocelot中使用 CacheManager 来支持缓存,官方文档中强烈建议使用该包作为缓存工具. 以下介绍通过使用CacheManager来实现Ocelot缓存. 1.通过Nuget添加 Ocelo ...
- .Netcore 2.0 Ocelot Api网关教程(7)- 限流
本文介绍Ocelot中的限流,限流允许Api网关控制一段时间内特定api的总访问次数. 限流的使用非常简单,只需要添加配置即可. 1.添加限流 修改 configuration.json 配置文件,对 ...
- 从申请到调用:全国快递物流查询 API 使用教程
引言 面对越来越多的快递需求和快递公司的日益增多,手动查询快递状态的工作变得愈发繁琐.此时,一个全国快递物流查询 API 的出现能够极大地提高查询的效率和准确性,解决人工查询的问题,为用户提供更加便捷 ...
- 【TWS API使用教程3】---如何使用TWS API从盈透证券中设置contract及获取contract的信息?
在原先的文章7.TWS API和IB中的金融工具介绍详细翻译了TWS API中如何设置一个contract,用于获取数据.下单等操作,以及如何查找contract.本文尝试在应用层面上,来看看如何设置 ...
- Android百度地图API使用教程
课1 百度地图应用 百度地图.ppt 百度地图API:API文档 http://wiki.lbsyun.baidu.com/cms/androidsdk/doc/v3_2_0/ 67个类:其中6大核心 ...
最新文章
- VMWARE HOST-ONLY方式共享上网
- talib 中文文档(八): Momentum Indicator Functions 动量指标
- UA MATH524 复变函数2 指数、对数与三角函数
- JVM方法区内存分配
- Struts2-Action的基本流程
- 20135213——信息安全系统设计基础第十周学习总结
- [html] 如何使用html5进行图片压缩上传?
- Linux系统驱动全吗,linux系统需要给硬件安装驱动程序么?谁推荐一下linux系统阿~要驱动最全...
- 计算机网络之应用层:3、文件传输协议FTP、简单文件传输协议TFTP
- 计算机音乐至少还有你,至少还有你-林忆莲
- android pdfjet_GitHub - lnj721/PdfBuilder: Android端使用图片生成PDF文件
- 人性歪曲的心理调适 一【虚荣心理、投机心理、狭隘心理、吝啬心理、逆反心理】...
- Java中使用各种方式实现网页跳转
- hadoop集群重启
- rk3568 android11 的 hardware架构学习纪要
- Cognitive Surplus 认知盈余
- java使用pdfbox拆分PDF文件
- 【转】火影10大秘密最终之解(杜撰)
- java 实现邮箱验证注册
- 2022年双十一蓝牙耳机选哪款?便宜音质好的蓝牙耳机推荐
热门文章
- stm32控制超声波测距模块HC-SR04
- 报告| Q3区块链游戏行业全景:玩赚强势驱动,链游热度持续
- LabVIEW Arduino电子称重系统(项目篇—1)
- 2015年第六届蓝桥杯C/C++程序设计本科B组决赛第二题
- 三星复仇计划开始:苹果一出LTE设备就要起诉它!
- 项目管理大法归档 - 思维导图、原型工具、接口测试、设计模式、版本管理、单元测试、持续集成、代码审查、Bug 跟踪
- PYTHON脚本将excl表格中的科学计数法转变为普通数值
- 杰瑞学Perl之多值比较问题
- 人工智能以及图形图像处理领域CCFA类期刊汇总与个人评价
- 【小狐狸 - 横版游戏开发】1.编辑素材 Til