在Google Dataproc上最小化Apache Spark作业的初始化时间的最佳方法是什么?

时间:2016-03-02 15:46:47

标签: hadoop apache-spark google-cloud-dataproc

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

  1. 汇集可用于每个Spark作业的单个JavaSparkContext实例
  2. 启动单个作业并在单个作业中运行基于Spark的处理
  3. 有更有效的方法吗?我如何在Google Dataproc中实现上述方法?

1 个答案:

答案 0 :(得分:0)

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

可以为Dataproc编写驱动程序,该程序接受来自REST服务器的RPC并自行重用SparkContext,然后通过Jobs API提交此驱动程序,但我个人会看看这份工作服务器第一。