只是试图澄清一些事情,一些低悬的成果,通过观看用户在另一个试图调用广播变量的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