0
我確定我們可以廣播變量的值,但我不知道如何在執行者之間傳播在驅動程序中創建的對象。我在我的Scala程序中爲第三方Java類創建一個對象。我想分享同一個類的實例給所有執行者,而不是創建多個對象。如何在Spark scala中的執行者之間廣播對象?
我發現廣播方法可以用來廣播變量的值。但我不知道這是否可以用於廣播對象。請發表您的建議
我確定我們可以廣播變量的值,但我不知道如何在執行者之間傳播在驅動程序中創建的對象。我在我的Scala程序中爲第三方Java類創建一個對象。我想分享同一個類的實例給所有執行者,而不是創建多個對象。如何在Spark scala中的執行者之間廣播對象?
我發現廣播方法可以用來廣播變量的值。但我不知道這是否可以用於廣播對象。請發表您的建議
有了廣播,您還可以廣播對象。請參閱API廣播
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.
廣播變量都應該是隻讀,所以你應該擔心它是相同的實例還是不同的。
是的,我想知道「值」和「對象」是否有區別。我也沒有想過在分佈式系統上你可以共享一個「同類的實例」,因爲每個JVM都有它自己的實例。 – NikoNyrh