并行运行火花工作

时间:2017-08-05 04:13:00

标签: scala apache-spark concurrency parallel-processing

假设我有两个独立的工作,例如并行写入多个商店,我会采取一个集合,执行操作,然后将内容写入文件系统和另外3个商店。

如何并行运行这3个操作?

我正在使用Scala。对我来说,正常的方式是推出4个期货。因此我想知道我是否可以这样做。

这里没有让我感到轻松的是,我不知道executionContext / ThreadPoolExecutor如何与Spark作业调度实际交互。

如果我这样做

未来{job1} 未来{job2} 未来{job3} 未来{job4}

会发生什么?有人可以解释一下Spark技工吗?未来将如何发送给执行人执行?假设我有时间表公平分享。接下来发生什么?火花如何处理未来的事情?

1 个答案:

答案 0 :(得分:0)

默认情况下,提交到独立模式群集的应用程序将以FIFO(先进先出)顺序运行,每个应用程序将尝试使用所有可用节点。

Mesos模式是CPU核心的动态共享。在此模式下,每个Spark应用程序仍然具有固定且独立的内存分配,但是当应用程序未在计算机上运行任务时,其他应用程序可能会在这些核心上运行任务。

查看此文档

https://spark.apache.org/docs/latest/job-scheduling.html

相关问题