在googledataproc上最小化apachespark作业初始化时间的最佳方法是什么?

jvidinwx  于 2021-06-02  发布在  Hadoop
关注(0)|答案(1)|浏览(256)

我正在尝试使用rest服务触发使用dataprocapi客户端的spark作业。但是,dataproc集群中的每个作业需要10-15秒来初始化spark驱动程序并提交应用程序。我想知道是否有一种有效的方法来消除从gs bucket中的jar文件触发的spark java作业的初始化时间?我想到的一些解决方案是:
将可用于每个spark作业的javasparkcontext的单个示例合并在一起
启动单个作业并在单个作业中运行基于spark的处理
有没有更有效的方法?如何在googledataproc中实现上述方法?

at0kjp5o

at0kjp5o1#

与其自己编写此逻辑,不如研究spark作业服务器:https://github.com/spark-jobserver/spark-jobserver 因为这应该允许您重用spark上下文。
您可以为dataproc编写一个驱动程序,它从rest服务器接收rpc并自己重用sparkcontext,然后通过jobsapi提交这个驱动程序,但我个人会先查看作业服务器。

相关问题