public abstract class Broadcast<T>
extends Object
implements java.io.Serializable
Broadcast variables are created from a variable v
by calling
SparkContext.broadcast(T, scala.reflect.ClassTag<T>)
.
The broadcast variable is a wrapper around v
, and its value can be accessed by calling the
value
method. The interpreter session below shows this:
scala> val broadcastVar = sc.broadcast(Array(1, 2, 3))
broadcastVar: spark.Broadcast[Array[Int} = spark.Broadcast(b5c40191-a864-4c7d-b9bf-d87e1a4e787c)
scala> broadcastVar.value
res0: Array[Int] = Array(1, 2, 3)
After the broadcast variable is created, it should be used instead of the value v
in any
functions run on the cluster so that v
is not shipped to the nodes more than once.
In addition, the object v
should not be modified after it is broadcast in order to ensure
that all nodes get the same value of the broadcast variable (e.g. if the variable is shipped
to a new node later).
Constructor and Description |
---|
Broadcast(long id,
scala.reflect.ClassTag<T> evidence$1) |
Modifier and Type | Method and Description |
---|---|
long |
id() |
String |
toString() |
void |
unpersist()
Asynchronously delete cached copies of this broadcast on the executors.
|
void |
unpersist(boolean blocking)
Delete cached copies of this broadcast on the executors.
|
T |
value()
Get the broadcasted value.
|
public Broadcast(long id, scala.reflect.ClassTag<T> evidence$1)
public long id()
public T value()
public void unpersist()
public void unpersist(boolean blocking)
blocking
- Whether to block until unpersisting has completedpublic String toString()
toString
in class Object