只是試圖澄清一些事情,一些低懸的成果,通過觀看用戶在另一個試圖調用廣播變量的RDD操作的問題中產生的問題?這是錯的,對吧?Apache Spark廣播變量是類型廣播?不是RDD?
問題是:Spark廣播變量不是RDD,是否正確?這是斯卡拉的一個集合,我看到了嗎?
望着斯卡拉文檔:http://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.broadcast.Broadcast
所以它有任何的分型它在創建時,子類無論是傳遞給它分配的?就像這是一個Java ArrayList,它會是一個整數的ArrayList?所以
sc.broadcast([0,1,2])會在scala-notation中創建一個Broadcast [Array [Int]]?
scala> val broadcastVar = sc.broadcast(Array(1, 2, 3))
broadcastVar: org.apache.spark.broadcast.Broadcast[Array[Int]] = Broadcast(0)
scala> broadcastVar.value
res0: Array[Int] = Array(1, 2, 3)
(我真的搜索周圍不少有明確的簡單明瞭的答案,但它也必須是基本的一個問題,但如此重要的是理解,謝謝。)
會很好,但不有必要了解一下Python在廣播方面的一些信息,我假設它調用底層的Scala類,並將它作爲Scala廣播類型存儲在引擎之下?
是的,這不是RDD,它只是創建並摧毀你的每個執行人的所有數據。是的,python api只是在下面調用scala代碼。 – ipoteka