我是Spark的新手,所以任何建议,无论是关于相关工具或针对我的用例建议的设计更改,都将不胜感激。
我目前的情况是,我有几百万个独立的Spark作业,运行时间不是很长(平均几秒钟),我使用Livy以批处理模式提交它们。问题是,初始化每个作业的Spark上下文所需的时间比运行作业本身所需的时间要长得多。因此,我的想法是初始化spark上下文的修复池,并使用它们来运行所有这些作业,而不是每次运行作业时都获得新的上下文。
问题是,我对Spark完全是个新手,不知道这是否可能,也不知道这是不是一个好主意。我尝试使用几个Livy会话,但是多个语句不能在一个Livy会话上同时执行,所以我被卡住了。
发布于 2021-09-06 11:46:43
每个spark应用程序都有自己的相关驱动程序,这些驱动程序在一个专用进程中运行。在这个过程中,上下文是单例的。
根据来源,您可以使用以下选项之一:
因此,简而言之,您需要找到一种方法来最小化您运行的应用程序的数量。
https://stackoverflow.com/questions/69073467
复制相似问题