Spark服务化-为什么选择livy

  • 时间:2018-08-26 23:03 作者:陈序猿9527 来源:陈序猿9527 阅读:859
  • 扫一扫,手机访问
摘要:Spark服务化需求因为项目需要,需要开发一个Spark服务化的功能,可以提交sql,代码和jar包到Spark集群运行,作为模型自动调度的基础功能。开始阶段,自己实现。自然而然的想到,通过在Spark中建立一个常驻应使用,通过rpc调使用sql 和 内置的应使用。这样够简单,不使用引入新组件,但是

Spark服务化需求

因为项目需要,需要开发一个Spark服务化的功能,可以提交sql,代码和jar包到Spark集群运行,作为模型自动调度的基础功能。

Spark服务化-为什么选择livy

开始阶段,自己实现。自然而然的想到,通过在Spark中建立一个常驻应使用,通过rpc调使用sql 和 内置的应使用。这样够简单,不使用引入新组件,但是配置和升级应使用都不够灵活, 开发出来后发现在稳固性也不够,需要大量时间调优。

SparkJobServer VS Livy

后来发现了SparkJobServer 和 Livy, 都提供了Spark的服务化功能。

相同点:

sparkJobServer 和 Livy, 都提供了REST接口提交spark任务,并且都支持sparkContext复使用。

不同点:

  1. 支持的任务类型,SparkJobServer 只支持jar包, Livy支持提交jar,sql,scala,python等。
  2. 运行模式,SparkJobServer支持client模式,Livy支持client/cluster
  3. 对代码的侵入,SparkJobServer需要继承对应的接口,Livy 不需要。

综合考虑选择了Livy。

Livy简介

Livy的基本架构:

Spark服务化-为什么选择livy

使用户可以以REST请求的方式通过Livy启动一个新的Spark集群,Livy将每一个启动的Spark集群称之为一个会话(session),一个会话是由一个完整的Spark集群所构成的,并且通过RPC协议在Spark集群和Livy服务端之间进行通信。根据解决交互方式的不同,Livy将会话分成了两种类型:

交互式会话(interactive session),这与Spark中的交互式解决spark-shell相同,交互式会话在其启动后可以接收使用户所提交的代码片段,在远端的Spark集群上编译并执行;

批解决会话(batch session),使用户可以通过Livy以批解决的方式启动Spark应使用,这样的一个方式在Livy中称之为批解决会话,这与Spark中的批解决是相同的。

可以看到,Livy所提供的核心功能与原生Spark是相同的,它提供了两种不同的会话类型来代替Spark中两类不同的解决交互方式。

  • 全部评论(0)
最新发布的资讯信息
【网页前端|】从BAT大数据工程师那里总结的大数据学习方法(2019-05-23 11:46)
【系统环境|Linux】值得了解的十大数据发展趋势(2019-05-22 11:33)
【系统环境|软件环境】如何成为一名大数据工程师?(2019-05-20 12:11)
【系统环境|Linux】大数据四大常识,不会你敢说自己在做大数据?(2019-05-19 11:39)
【系统环境|】需要同时掌握AVA和Linux,才可以继续大数据课程的学习(2019-05-18 10:28)
【系统环境|软件环境】学习大数据,一定要了解大数据的这些用途(2019-05-16 10:49)
【系统环境|Linux】bt宝塔控制面板mysql频繁自动停止详细解决办法(2019-05-16 08:52)
【系统环境|】大数据零基础学习路线,新人记得保存收藏哦(2019-05-15 10:54)
【系统环境|】全网最全最新的大数据系统学习路径(2019-05-14 15:38)
【系统环境|Linux】毕业设计:音乐分享系统(2019-05-14 07:48)
手机二维码手机访问领取大礼包
返回顶部