如何在Spark scala中跨执行程序广播对象?

时间:2017-02-24 13:52:17

标签: apache-spark broadcast executors

我确信我们可以广播变量的值,但我不知道如何在执行器中广播在驱动程序中创建的对象。我在Scala程序中为第三方Java类创建了一个对象。我想将所有类的实例共享给所有执行程序,而不是创建多个对象。

我发现广播方法可用于广播变量的值。但我不知道是否可以用于广播对象。请发表您的建议

1 个答案:

答案 0 :(得分:0)

通过广播,您也可以广播对象。请参阅API for broadcast

broadcast[T](value: T)(implicit arg0: ClassTag[T]): Broadcast[T]
Broadcast a read-only variable to the cluster, returning a     org.apache.spark.broadcast.Broadcast object for reading it in distributed functions.

广播变量应该是只读的,所以你应该担心它是同一个实例或不同的实例。