Apache spark 为什么代码行在一个spark执行器中执行多次
我有一份很有活力的工作,那就是阅读卡夫卡的作品。 我有32名遗嘱执行人。 在映射转换中,我引用了一个对象Foo。 在Foo中,它需要在第一个转换操作上进行初始化(下面的示例)。 我希望每个执行人都能进行一次初始化。 然而,每个执行人都会发生16次。 为什么会这样Apache spark 为什么代码行在一个spark执行器中执行多次,apache-spark,Apache Spark,我有一份很有活力的工作,那就是阅读卡夫卡的作品。 我有32名遗嘱执行人。 在映射转换中,我引用了一个对象Foo。 在Foo中,它需要在第一个转换操作上进行初始化(下面的示例)。 我希望每个执行人都能进行一次初始化。 然而,每个执行人都会发生16次。 为什么会这样 object Foo extends Serailizable { var init = false def transform(){ if(!init){ sleep(1
object Foo extends Serailizable {
var init = false
def transform(){
if(!init){
sleep(1000)
init = true;
}
}
}
rdd.map(Foo.transform(_))
只需将初始化设置为singleton,这将确保每个JVM(每个执行器)初始化一次