ignite.scala

IgnitePipe

Related Docs: object IgnitePipe | package scala

sealed trait IgnitePipe[T] extends Serializable

Provides composable distributed closures that can run on Apache Ignite.

Allows chaining functions to be executed on the cluster. Reduction is done on the client. Note that pipe operations like flattening, filtering are also performed on the client after gathering results from the nodes.

Best practice is to push computations to the cluster as much as possible and flatten, filter on the client only if the scatter-gather overhead is acceptable and results can fit on the client.

Linear Supertypes
Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. IgnitePipe
  2. Serializable
  3. AnyRef
  4. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def execute: Iterable[T]

    Execute the chain and return the computed values.

  2. abstract def flatMap[U](f: (T) ⇒ TraversableOnce[U]): IgnitePipe[U]

    Transform each value using the function f and flatten the result.

    Transform each value using the function f and flatten the result.

    Note: This is not a monadic composition.

    Flatten step is performed on the client. If you have a chain of flatMaps, all functions in the chain are composed and flattening is performed once on the client.

    To manually split the flatMap chain, use .fork. Forking is useful when dealing with long, lazy chains, or when adding a barrier is desired.

  3. abstract def fork: IgnitePipe[T]

    Manually add a fork in the execution chain.

    Manually add a fork in the execution chain. This creates a barrier, which means the subsequent transforms are planned on a fresh Ignite closure.

  4. abstract def map[U](f: (T) ⇒ U): IgnitePipe[U]

    Transform each element using the function f.

    Transform each element using the function f.

    This is executed on the cluster nodes. Chained map transforms are composed and executed once on the cluster nodes. Use .fork to manually split the chain if tuning is required.

  5. abstract def reduce(implicit sg: Semigroup[T]): Reduction[T]

    Prepare a Reduction based on the provided Semigroup.

    Prepare a Reduction based on the provided Semigroup.

    Note that results can arrived from cluster nodes in any order, so the operation has to be associative and commutative.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Definition Classes
    AnyRef → Any
  3. def ++(p: IgnitePipe[T]): IgnitePipe[T]

    Merge two pipes of the same type

  4. final def ==(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  5. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  6. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  7. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  9. def filter(f: (T) ⇒ Boolean): IgnitePipe[T]

    Filter elements using the function f.

    Filter elements using the function f.

    Implemented as a flatMap executed on the client.

  10. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  13. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  15. final def notify(): Unit

    Definition Classes
    AnyRef
  16. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  17. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  18. def toString(): String

    Definition Classes
    AnyRef → Any
  19. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped