首页 > 解决方案 > 在 Spark 中是否可以在同一个 SparkSession 上运行并发作业?

问题描述

我是一名业余 Spark 用户和 Scala。尽管我进行了多次搜索,但我找不到我的答案。是否可以在单个驱动程序上同时将不同的任务分配给不同的执行程序?例如,假设我们有 10 个节点。我想编写一个代码来使用具有五个工作人员的朴素贝叶斯算法对数据集进行分类,同时,我想为其他五个工作人员分配一个任务,以使用决策树算法对数据集进行分类。之后,我将结合这些答案。

标签: scalaapache-spark

解决方案


哈米德礼萨,

您想要实现的是从您的驱动程序并行运行两个操作。这绝对是可能的,但只有在您的操作没有使用整个集群时才有意义(实际上是为了更好的资源管理)。

您可以为此使用并发。有很多方法可以实现并发程序,从Futures(我不能真正推荐这种方法,但似乎是 Scala 中最受欢迎的选择)到更高级的类型,如任务(你可以看看流行的函数库像MonixCatsZio)。


推荐阅读