首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以使用固定的Spark上下文池并行运行多个spark作业?

是否可以使用固定的Spark上下文池并行运行多个spark作业?
EN

Stack Overflow用户
提问于 2021-09-06 11:02:40
回答 1查看 26关注 0票数 1

我是Spark的新手,所以任何建议,无论是关于相关工具或针对我的用例建议的设计更改,都将不胜感激。

我目前的情况是,我有几百万个独立的Spark作业,运行时间不是很长(平均几秒钟),我使用Livy以批处理模式提交它们。问题是,初始化每个作业的Spark上下文所需的时间比运行作业本身所需的时间要长得多。因此,我的想法是初始化spark上下文的修复池,并使用它们来运行所有这些作业,而不是每次运行作业时都获得新的上下文。

问题是,我对Spark完全是个新手,不知道这是否可能,也不知道这是不是一个好主意。我尝试使用几个Livy会话,但是多个语句不能在一个Livy会话上同时执行,所以我被卡住了。

EN

回答 1

Stack Overflow用户

发布于 2021-09-06 11:46:43

每个spark应用程序都有自己的相关驱动程序,这些驱动程序在一个专用进程中运行。在这个过程中,上下文是单例的。

根据来源,您可以使用以下选项之一:

  1. 使用流,或structured streaming
  2. Use thrift server (主要适用于JDBC/ODBC)

因此,简而言之,您需要找到一种方法来最小化您运行的应用程序的数量。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69073467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档