Package org.apache.spark
Class ComplexFutureAction<T>
Object
org.apache.spark.ComplexFutureAction<T>
- All Implemented Interfaces:
FutureAction<T>
,scala.concurrent.Awaitable<T>
,scala.concurrent.Future<T>
A
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.-
Nested Class Summary
Nested classes/interfaces inherited from interface scala.concurrent.Future
scala.concurrent.Future.never$
-
Constructor Summary
ConstructorDescriptionComplexFutureAction
(scala.Function1<JobSubmitter, scala.concurrent.Future<T>> run) -
Method Summary
Modifier and TypeMethodDescriptionvoid
Cancels the execution of this action with an optional reason.boolean
Returns whether the action has been cancelled.boolean
Returns whether the action has already been completed with a value or an exception.scala.collection.immutable.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.ready
(scala.concurrent.duration.Duration atMost, scala.concurrent.CanAwait permit) Blocks until this action completes.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.Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface scala.concurrent.Future
andThen, collect, failed, fallbackTo, filter, flatMap, flatten, foreach, map, mapTo, recover, recoverWith, transform, withFilter, zip, zipWith
Methods inherited from interface org.apache.spark.FutureAction
cancel, get
-
Constructor Details
-
ComplexFutureAction
-
-
Method Details
-
cancel
Description copied from interface:FutureAction
Cancels the execution of this action with an optional reason.- Specified by:
cancel
in interfaceFutureAction<T>
- Parameters:
reason
- (undocumented)
-
isCancelled
public boolean isCancelled()Description copied from interface:FutureAction
Returns whether the action has been cancelled.- Specified by:
isCancelled
in interfaceFutureAction<T>
- Returns:
- (undocumented)
-
isCompleted
public boolean isCompleted()Description copied from interface:FutureAction
Returns whether the action has already been completed with a value or an exception.- Specified by:
isCompleted
in interfacescala.concurrent.Future<T>
- Specified by:
isCompleted
in interfaceFutureAction<T>
- Returns:
- (undocumented)
-
jobIds
Description copied from interface:FutureAction
Returns the job IDs run by the underlying async operation.This returns the current snapshot of the job list. Certain operations may run multiple jobs, so multiple calls to this method may return different lists.
- Specified by:
jobIds
in interfaceFutureAction<T>
- Returns:
- (undocumented)
-
onComplete
public <U> void onComplete(scala.Function1<scala.util.Try<T>, U> func, scala.concurrent.ExecutionContext executor) Description copied from interface:FutureAction
When this action is completed, either through an exception, or a value, applies the provided function.- Specified by:
onComplete
in interfacescala.concurrent.Future<T>
- Specified by:
onComplete
in interfaceFutureAction<T>
- Parameters:
func
- (undocumented)executor
- (undocumented)
-
ready
public ComplexFutureAction<T> ready(scala.concurrent.duration.Duration atMost, scala.concurrent.CanAwait permit) throws InterruptedException, TimeoutException Description copied from interface:FutureAction
Blocks until this action completes.- Specified by:
ready
in interfacescala.concurrent.Awaitable<T>
- Specified by:
ready
in interfaceFutureAction<T>
- Parameters:
atMost
- maximum wait time, which may be negative (no waiting is done), Duration.Inf for unbounded waiting, or a finite positive durationpermit
- (undocumented)- Returns:
- this FutureAction
- Throws:
InterruptedException
TimeoutException
-
result
public T result(scala.concurrent.duration.Duration atMost, scala.concurrent.CanAwait permit) throws Exception Description copied from interface:FutureAction
Awaits and returns the result (of type T) of this action.- Specified by:
result
in interfacescala.concurrent.Awaitable<T>
- Specified by:
result
in interfaceFutureAction<T>
- Parameters:
atMost
- maximum wait time, which may be negative (no waiting is done), Duration.Inf for unbounded waiting, or a finite positive durationpermit
- (undocumented)- Returns:
- the result value if the action is completed within the specific maximum wait time
- Throws:
Exception
- exception during action execution
-
transform
public <S> scala.concurrent.Future<S> transform(scala.Function1<scala.util.Try<T>, scala.util.Try<S>> f, scala.concurrent.ExecutionContext e) - Specified by:
transform
in interfacescala.concurrent.Future<T>
-
transformWith
public <S> scala.concurrent.Future<S> transformWith(scala.Function1<scala.util.Try<T>, scala.concurrent.Future<S>> f, scala.concurrent.ExecutionContext e) - Specified by:
transformWith
in interfacescala.concurrent.Future<T>
-
value
Description copied from interface:FutureAction
The value of this Future.If 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.
- Specified by:
value
in interfacescala.concurrent.Future<T>
- Specified by:
value
in interfaceFutureAction<T>
- Returns:
- (undocumented)
-