public abstract class Broadcast<T>
extends java.lang.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: org.apache.spark.broadcast.Broadcast[Array[Int} = Broadcast(0)
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).
param: id A unique identifier for the broadcast variable.
Constructor and Description |
---|
Broadcast(long id,
scala.reflect.ClassTag<T> evidence$1) |
Modifier and Type | Method and Description |
---|---|
protected void |
assertValid()
Check if this broadcast is valid.
|
void |
destroy()
Destroy all data and metadata related to this broadcast variable.
|
protected abstract void |
doDestroy(boolean blocking)
Actually destroy all data and metadata related to this broadcast variable.
|
protected abstract void |
doUnpersist(boolean blocking)
Actually unpersist the broadcasted value on the executors.
|
protected abstract T |
getValue()
Actually get the broadcasted value.
|
long |
id() |
java.lang.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 void destroy()
protected abstract T getValue()
protected abstract void doUnpersist(boolean blocking)
blocking
- (undocumented)protected abstract void doDestroy(boolean blocking)
blocking
- (undocumented)protected void assertValid()
public java.lang.String toString()
toString
in class java.lang.Object