Scala 在Spark中,是否可以为每个执行者创建单独的后台任务?

Scala 在Spark中,是否可以为每个执行者创建单独的后台任务?,scala,apache-spark,bigdata,Scala,Apache Spark,Bigdata,在我的N节点集群中,每个节点将有一个执行器,每个执行器的任务数与节点上的核心数相同。然而,出于某种原因,我还想为每个执行者创建一个特殊的后台任务。例如,该特殊任务可用于分析节点或组合节点上其他任务创建的文件。所以,我的问题是,有没有可能在Spark中为执行者创建这样的特殊后台任务?因为每个执行者都是一个单独的JVM进程,所以可以创建一个临时对象,该对象被惰性地初始化。它反过来可以启动一个后台线程来做你想做的事情。虽然这是可能的,但这绝对不是我个人认为SARK的习惯。您需要将执行器视为可释放资源,

在我的N节点集群中,每个节点将有一个执行器,每个执行器的任务数与节点上的核心数相同。然而,出于某种原因,我还想为每个执行者创建一个特殊的后台任务。例如,该特殊任务可用于分析节点或组合节点上其他任务创建的文件。所以,我的问题是,有没有可能在Spark中为执行者创建这样的特殊后台任务?

因为每个执行者都是一个单独的JVM进程,所以可以创建一个临时对象,该对象被惰性地初始化。它反过来可以启动一个后台线程来做你想做的事情。虽然这是可能的,但这绝对不是我个人认为SARK的习惯。您需要将执行器视为可释放资源,可根据群集需要终止和分配这些资源。由于多个任务将在同一执行器上运行,您将从哪个任务创建该线程以及如何创建该线程?您是否需要使用某种互斥锁或其他东西?这没关系,一旦它是
惰性val
,它就被同步,并且只能由一个线程调用。