我是一个业余的Spark用户和Scala。虽然我找了很多次,但还是找不到答案。是否可以在单个驱动程序中同时将不同的任务分配给不同的执行器?例如,假设我们有10个节点。我想要编写一个代码,使用具有五个工作者的朴素贝叶斯算法对数据集进行分类,同时,我想给其他五个工作者分配一个任务,使用决策树算法对数据集进行分类。然后,我将综合这些答案。
发布于 2019-12-03 07:05:05
HamidReza,
您想要实现的是从您的驱动程序并行运行两个操作。这绝对是可能的,但只有当您的操作没有使用整个集群时才有意义(实际上是为了更好的资源管理)。
为此,您可以使用并发。实现并发程序的方法有很多种,从Futures开始(我不推荐使用这种方法,但似乎是Scala中最流行的选择),再到更高级的类型,比如任务(你可以看看流行的函数库,比如Monix、Cats或Zio)。
https://stackoverflow.com/questions/59145147
复制相似问题