public class ComplexFutureAction<T> extends 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 cancelling any pending
jobs.| Constructor and Description |
|---|
ComplexFutureAction(scala.Function1<JobSubmitter,scala.concurrent.Future<T>> run) |
| 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<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.
|
<S> scala.concurrent.Future<S> |
transform(scala.Function1<scala.util.Try<T>,scala.util.Try<S>> f,
scala.concurrent.ExecutionContext e) |
<S> scala.concurrent.Future<S> |
transformWith(scala.Function1<scala.util.Try<T>,scala.concurrent.Future<S>> f,
scala.concurrent.ExecutionContext e) |
scala.Option<scala.util.Try<T>> |
value()
The value of this Future.
|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitget$init$, andThen, apply, collect, failed, fallbackTo, filter, find, find, firstCompletedOf, flatMap, flatten, fold, foldLeft, foreach, fromTry, map, mapTo, onFailure, onSuccess, recover, recoverWith, reduce, reduceLeft, sequence, successful, transform, traverse, unit, withFilter, zip, zipWithpublic ComplexFutureAction(scala.Function1<JobSubmitter,scala.concurrent.Future<T>> run)
public void cancel()
FutureActioncancel in interface FutureAction<T>public boolean isCancelled()
FutureActionisCancelled in interface FutureAction<T>public boolean isCompleted()
FutureActionisCompleted in interface FutureAction<T>isCompleted in interface scala.concurrent.Future<T>public scala.collection.Seq<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>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 ComplexFutureAction<T> ready(scala.concurrent.duration.Duration atMost, scala.concurrent.CanAwait permit) throws InterruptedException, java.util.concurrent.TimeoutException
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)InterruptedExceptionjava.util.concurrent.TimeoutExceptionpublic T result(scala.concurrent.duration.Duration atMost, scala.concurrent.CanAwait permit) throws Exception
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)Exception - exception during action executionpublic <S> scala.concurrent.Future<S> transform(scala.Function1<scala.util.Try<T>,scala.util.Try<S>> f, scala.concurrent.ExecutionContext e)
transform in interface scala.concurrent.Future<T>public <S> scala.concurrent.Future<S> transformWith(scala.Function1<scala.util.Try<T>,scala.concurrent.Future<S>> f, scala.concurrent.ExecutionContext e)
transformWith 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>