public class ComplexFutureAction<T> extends java.lang.Object implements FutureAction<T>
FutureAction for actions that could trigger multiple Spark jobs. Examples include take,
takeSample. Cancellation works by setting the cancelled flag to true and interrupting the
action thread if it is being blocked by a job.| Constructor and Description |
|---|
ComplexFutureAction() |
| Modifier and Type | Method and Description |
|---|---|
void |
cancel()
Cancels the execution of this action.
|
boolean |
isCancelled()
Returns whether the action has been cancelled.
|
boolean |
isCompleted()
Returns whether the action has already been completed with a value or an exception.
|
scala.collection.Seq<java.lang.Object> |
jobIds()
Returns the job IDs run by the underlying async operation.
|
<U> void |
onComplete(scala.Function1<scala.util.Try<T>,U> func,
scala.concurrent.ExecutionContext executor)
When this action is completed, either through an exception, or a value, applies the provided
function.
|
ComplexFutureAction<T> |
ready(scala.concurrent.duration.Duration atMost,
scala.concurrent.CanAwait permit)
Blocks until this action completes.
|
T |
result(scala.concurrent.duration.Duration atMost,
scala.concurrent.CanAwait permit)
Awaits and returns the result (of type T) of this action.
|
ComplexFutureAction<T> |
run(scala.Function0<T> func,
scala.concurrent.ExecutionContext executor)
Executes some action enclosed in the closure.
|
<T,U,R> void |
runJob(RDD<T> rdd,
scala.Function1<scala.collection.Iterator<T>,U> processPartition,
scala.collection.Seq<java.lang.Object> partitions,
scala.Function2<java.lang.Object,U,scala.runtime.BoxedUnit> resultHandler,
scala.Function0<R> resultFunc)
Runs a Spark job.
|
scala.Option<scala.util.Try<T>> |
value()
The value of this Future.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetpublic void cancel()
FutureActioncancel in interface FutureAction<T>public ComplexFutureAction<T> run(scala.Function0<T> func, scala.concurrent.ExecutionContext executor)
func - (undocumented)executor - (undocumented)public <T,U,R> void runJob(RDD<T> rdd, scala.Function1<scala.collection.Iterator<T>,U> processPartition, scala.collection.Seq<java.lang.Object> partitions, scala.Function2<java.lang.Object,U,scala.runtime.BoxedUnit> resultHandler, scala.Function0<R> resultFunc)
rdd - (undocumented)processPartition - (undocumented)partitions - (undocumented)resultHandler - (undocumented)resultFunc - (undocumented)public boolean isCancelled()
FutureActionisCancelled in interface FutureAction<T>public ComplexFutureAction<T> ready(scala.concurrent.duration.Duration atMost, scala.concurrent.CanAwait permit)
FutureActionready in interface FutureAction<T>ready in interface scala.concurrent.Awaitable<T>atMost - maximum wait time, which may be negative (no waiting is done), Duration.Inf
for unbounded waiting, or a finite positive durationpermit - (undocumented)public T result(scala.concurrent.duration.Duration atMost, scala.concurrent.CanAwait permit)
FutureActionresult in interface FutureAction<T>result in interface scala.concurrent.Awaitable<T>atMost - maximum wait time, which may be negative (no waiting is done), Duration.Inf
for unbounded waiting, or a finite positive durationpermit - (undocumented)public <U> void onComplete(scala.Function1<scala.util.Try<T>,U> func, scala.concurrent.ExecutionContext executor)
FutureActiononComplete in interface FutureAction<T>onComplete in interface scala.concurrent.Future<T>func - (undocumented)executor - (undocumented)public boolean isCompleted()
FutureActionisCompleted in interface FutureAction<T>isCompleted in interface scala.concurrent.Future<T>public scala.Option<scala.util.Try<T>> value()
FutureActionIf the future is not completed the returned value will be None. If the future is completed the value will be Some(Success(t)) if it contains a valid result, or Some(Failure(error)) if it contains an exception.
value in interface FutureAction<T>value in interface scala.concurrent.Future<T>public scala.collection.Seq<java.lang.Object> jobIds()
FutureActionThis returns the current snapshot of the job list. Certain operations may run multiple jobs, so multiple calls to this method may return different lists.
jobIds in interface FutureAction<T>