2016-03-02 66 views
0

我正在尝试使用REST服务来使用Dataproc API客户端触发Spark作业。但是,DataProroc集群中的每个作业需要10-15秒来初始化Spark Driver并提交应用程序。我想知道是否有一种有效的方法来消除从gs桶中的JAR文件触发的Spark Java作业的初始化时间?一些解决方案,我想到的是:什么是最大限度地减少Google Dataproc上Apache Spark作业初始化时间的最佳方法?

  1. 池JavaSparkContext的单个实例可用于每个星火工作
  2. 开始在单个作业的单一作业和运行基于火花处理

有没有更有效的方法?我将如何在Google Dataproc中实现上述方法?

回答

0

您可能想要调查Spark Job Server:https://github.com/spark-jobserver/spark-jobserver,而不是自己编写此逻辑,因为这应该允许您重复使用spark上下文。

可以写Dataproc它接受的RPC从您的REST服务器的驱动程序和自行重新使用SparkContext,然后通过乔布斯API提交该驱动程序,但我个人会看作业服务器第一。