Class

org.bdgenomics.adam.rdd

ShuffleRegionJoin

Related Doc: package rdd

Permalink

sealed abstract class ShuffleRegionJoin[T, U, RT, RU] extends RegionJoin[T, U, RT, RU]

A trait describing join implementations that are based on a sort-merge join.

T

The type of the left RDD.

U

The type of the right RDD.

RT

The type of data yielded by the left RDD at the output of the join. This may not match T if the join is an outer join, etc.

RU

The type of data yielded by the right RDD at the output of the join.

Linear Supertypes
RegionJoin[T, U, RT, RU], Serializable, Serializable, AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ShuffleRegionJoin
  2. RegionJoin
  3. Serializable
  4. Serializable
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def emptyFn(left: Iterator[((ReferenceRegion, Int), T)], right: Iterator[((ReferenceRegion, Int), U)]): Iterator[(RT, RU)]

    Permalink
    Attributes
    protected
  2. abstract def makeIterator(region: ReferenceRegion, left: BufferedIterator[((ReferenceRegion, Int), T)], right: BufferedIterator[((ReferenceRegion, Int), U)]): Iterator[(RT, RU)]

    Permalink
    Attributes
    protected
  3. abstract val partitionSize: Long

    Permalink
    Attributes
    protected
  4. abstract val sc: SparkContext

    Permalink
    Attributes
    protected
  5. abstract val sd: SequenceDictionary

    Permalink
    Attributes
    protected

Concrete Value Members

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

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

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

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

    Permalink
    Definition Classes
    Any
  5. val bins: Broadcast[GenomeBins]

    Permalink
    Attributes
    protected
  6. def clone(): AnyRef

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

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

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

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

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

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

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

    Permalink
    Definition Classes
    AnyRef
  14. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  15. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  16. def partitionAndJoin(leftRDD: RDD[(ReferenceRegion, T)], rightRDD: RDD[(ReferenceRegion, U)]): RDD[(RT, RU)]

    Permalink

    Performs a region join between two RDDs (shuffle join).

    Performs a region join between two RDDs (shuffle join).

    This implementation is shuffle-based, so does not require collecting one side into memory like BroadcastRegionJoin. It basically performs a global sort of each RDD by genome position and then does a sort-merge join, similar to the chromsweep implementation in bedtools. More specifically, it first defines a set of bins across the genome, then assigns each object in the RDDs to each bin that they overlap (replicating if necessary), performs the shuffle, and sorts the object in each bin. Finally, each bin independently performs a chromsweep sort-merge join.

    leftRDD

    The 'left' side of the join

    rightRDD

    The 'right' side of the join

    returns

    An RDD of pairs (x, y), where x is from leftRDD, y is from rightRDD, and the region corresponding to x overlaps the region corresponding to y.

    Definition Classes
    ShuffleRegionJoinRegionJoin
  17. val seqLengths: Map[String, Long]

    Permalink
    Attributes
    protected
  18. def sweep(leftIter: Iterator[((ReferenceRegion, Int), T)], rightIter: Iterator[((ReferenceRegion, Int), U)]): Iterator[(RT, RU)]

    Permalink
  19. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  20. def toString(): String

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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from RegionJoin[T, U, RT, RU]

Inherited from Serializable

Inherited from Serializable

Inherited from AnyRef

Inherited from Any

Ungrouped