0

我正在尝试使用 REST 服务来触发使用 Dataproc API 客户端的 Spark 作业。但是,dataproc 集群中的每个作业需要 10-15 秒来初始化 Spark 驱动程序并提交应用程序。我想知道是否有一种有效的方法可以消除从 gs 存储桶中的 JAR 文件触发的 Spark Java 作业的初始化时间?我正在考虑的一些解决方案是:

  1. 汇集可用于每个 Spark 作业的 JavaSparkContext 的单个实例
  2. 启动单个作业并在单个作业中运行基于 Spark 的处理

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

4

1 回答 1

0

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

可以为 Dataproc 编写一个驱动程序,它接受来自您的 REST 服务器的 RPC 并自己重用 SparkContext,然后通过 Jobs API 提交此驱动程序,但我个人会先查看作业服务器。

于 2016-03-02T19:20:11.620 回答