Spark JobserverApache Spark 的 REST 作业服务器

联合创作 · 2023-09-29

REST job server for Apache Spark

主要特点

  1. 通过Rest API 提交spark 作业运行,支持sql,java/scala,python类型作业,解耦业务系统与spark 集群。
  2. Spark Job 运行资源相互隔离以及高可用性,每一个job 独立运行在一个Spark driver中。
  3. 预启动 Spark Driver,提高Job 启动速度,Driver 共享运行多个Job(同时只有一个job运行)
  4. 支持多Yarn集群部署,Client 提交Job 到指定集群运行。
  5. Driver 定制化,可以实现比较多能力,例如:表权限,碎片文件压缩,DQC等功能。
  6. 支持作业实例任务依赖(DAG),
  7. 支持kerberos 认证

已经有kyuubi,livy,为什么开发jobserver?

几年前就开始中台产品工作, DataStudio需要有一个getway 提交作业,spark 往yarn 提交driver会比较慢,为了更好的交互体验,需要预先启动spark driver,类似jdbc connection 管理spark driver,同时需要解决资源隔离问题。那个时候还没有kyuubi。kyuubi目前支持sql,java/scala 任务开发中,缺少python任务能力。工作中遇到大部分任务是python 作业,spark 最开始定位面向AI人员工具,pyspark是最大优势。livy主要为了交互式场景,需要客户端管理sesssionId。spark thrift 没有资源离,一个作业可能就会把所有资源用完,导致其它用户无法使用。

浏览 5
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑
举报