Spark服务化-为什么选择livy

  • 时间:2018-08-26 23:03 作者:陈序猿9527 来源:陈序猿9527 阅读:1197
  • 扫一扫,手机访问
摘要: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)
最新发布的资讯信息
【系统环境|】什么是HTML5前端开发?HTML5前端要学哪些技术?(2019-07-21 11:47)
【系统环境|】2019年web前端开发技术框架有哪些(2019-07-20 12:06)
【系统环境|】什么是Web?零基础能不能学Web前端开发?(2019-07-19 07:04)
【网页前端|HTML】为什么学Web前端?选择Web前端理由(2019-07-17 20:28)
【网页前端|JS】Java面经-百度新入职老哥整理近半年学习经验,面试刷题路线!(2019-07-16 22:16)
【网页前端|HTML】最全面的前端开发指南(2019-07-15 12:57)
【系统环境|数据库】零基础如何快速学好大数据?(2019-06-29 12:27)
【系统环境|Linux】零基础如何学好大数据?必备需要学习知识(2019-06-18 11:54)
【系统环境|】Hadoop环境中管理大数据存储八大技巧(2019-06-15 11:01)
【系统环境|服务器应用】现在国内IT行业是不是程序员过多了?(2019-06-11 06:34)
手机二维码手机访问领取大礼包
返回顶部