Class ComplexFutureAction<T>

Object
org.apache.spark.ComplexFutureAction<T>
All Implemented Interfaces:
FutureAction<T>, scala.concurrent.Awaitable<T>, scala.concurrent.Future<T>

public class ComplexFutureAction<T> extends Object implements FutureAction<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

    Constructors
    Constructor
    Description
    ComplexFutureAction(scala.Function1<JobSubmitter,scala.concurrent.Future<T>> run)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    cancel(scala.Option<String> reason)
    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>
    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>>
    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

      public ComplexFutureAction(scala.Function1<JobSubmitter,scala.concurrent.Future<T>> run)
  • Method Details

    • cancel

      public void cancel(scala.Option<String> reason)
      Description copied from interface: FutureAction
      Cancels the execution of this action with an optional reason.
      Specified by:
      cancel in interface FutureAction<T>
      Parameters:
      reason - (undocumented)
    • isCancelled

      public boolean isCancelled()
      Description copied from interface: FutureAction
      Returns whether the action has been cancelled.
      Specified by:
      isCancelled in interface FutureAction<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 interface scala.concurrent.Future<T>
      Specified by:
      isCompleted in interface FutureAction<T>
      Returns:
      (undocumented)
    • jobIds

      public scala.collection.immutable.Seq<Object> 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 interface FutureAction<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 interface scala.concurrent.Future<T>
      Specified by:
      onComplete in interface FutureAction<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 interface scala.concurrent.Awaitable<T>
      Specified by:
      ready in interface FutureAction<T>
      Parameters:
      atMost - maximum wait time, which may be negative (no waiting is done), Duration.Inf for unbounded waiting, or a finite positive duration
      permit - (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 interface scala.concurrent.Awaitable<T>
      Specified by:
      result in interface FutureAction<T>
      Parameters:
      atMost - maximum wait time, which may be negative (no waiting is done), Duration.Inf for unbounded waiting, or a finite positive duration
      permit - (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 interface scala.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 interface scala.concurrent.Future<T>
    • value

      public scala.Option<scala.util.Try<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 interface scala.concurrent.Future<T>
      Specified by:
      value in interface FutureAction<T>
      Returns:
      (undocumented)