org.apache.spark.rdd.mergejoin.MergeJoin

SpillableJoiner

abstract class SpillableJoiner[K, V, W, Out] extends Joiner[K, V, W, Out] with Logging

Base implementation for spillable merge-join Joiner that contains a default implementation for inner that will accumulate all right values into a spillable collection.

Exposes an emit method to allow each implementation to format the output tuple accordingly

Linear Supertypes
Logging, Joiner[K, V, W, Out], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. SpillableJoiner
  2. Logging
  3. Joiner
  4. Serializable
  5. Serializable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SpillableJoiner(context: TaskContext)

Abstract Value Members

  1. abstract def emit(key: K, left: V, right: W): Out

    key

    key value to emit

    left

    left value to emit

    right

    right value to emit

    returns

    output value for a single row, eg: (K, (V, W)) or (K, (V, Option[W]))

  2. abstract def leftOuter(itr: Iterator[(K, V)]): Iterator[Out]

    Emit values for left-side only key

    Emit values for left-side only key

    Definition Classes
    Joiner
  3. abstract def rightOuter(itr: Iterator[(K, W)]): Iterator[Out]

    Emit values for right-side only key

    Emit values for right-side only key

    Definition Classes
    Joiner

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def closeKey(): Unit

    Called after all values for a key has been emitted.

    Called after all values for a key has been emitted.

    This will be called after each 'inner' key join, and once more on task completion to ensure we cleanup any intermediate spill files and release memory back to the executor when we are done with this key.

    Attributes
    protected
  9. var currentKey: K

    Attributes
    protected
  10. var currentSpillable: ExternalSorter[Int, W, W]

    Attributes
    protected
  11. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  13. def finalize(): Unit

    Definition Classes
    SpillableJoiner → AnyRef
  14. final def getClass(): Class[_]

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

    Definition Classes
    AnyRef → Any
  16. val includeSpillMetrics: Boolean

    Attributes
    protected
  17. def initializeLogIfNecessary(isInterpreter: Boolean): Unit

    Attributes
    protected
    Definition Classes
    Logging
  18. def inner(key: K, left: Iterator[V], right: Iterator[W]): Iterator[Out]

    Emit both left and right values for the given key

    Emit both left and right values for the given key

    Definition Classes
    SpillableJoinerJoiner
  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. def isTraceEnabled(): Boolean

    Attributes
    protected
    Definition Classes
    Logging
  21. def log: Logger

    Attributes
    protected
    Definition Classes
    Logging
  22. def logDebug(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  23. def logDebug(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  24. def logError(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  25. def logError(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  26. def logInfo(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  27. def logInfo(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  28. def logName: String

    Attributes
    protected
    Definition Classes
    Logging
  29. def logTrace(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  30. def logTrace(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  31. def logWarning(msg: ⇒ String, throwable: Throwable): Unit

    Attributes
    protected
    Definition Classes
    Logging
  32. def logWarning(msg: ⇒ String): Unit

    Attributes
    protected
    Definition Classes
    Logging
  33. final def ne(arg0: AnyRef): Boolean

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

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

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

    Definition Classes
    AnyRef
  37. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Logging

Inherited from Joiner[K, V, W, Out]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped