org.bdgenomics.adam.rdd

# ShuffleRegionJoin

###
Related Doc: package rdd

#### 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
FullOuterShuffleRegionJoin, InnerShuffleRegionJoin, InnerShuffleRegionJoinAndGroupByLeft, LeftOuterShuffleRegionJoin, RightOuterShuffleRegionJoin, RightOuterShuffleRegionJoinAndGroupByLeft
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)]

   Attributes
     protected

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

   Attributes
     protected

3. #### abstract val partitionSize: Long

   Attributes
     protected

4. #### abstract val sc: SparkContext

   Attributes
     protected

5. #### abstract val sd: SequenceDictionary

   Attributes
     protected

### Concrete Value Members

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

   Definition Classes
     AnyRef → Any

2. #### final def ##(): Int

   Definition Classes
     AnyRef → Any

3. #### final def ==(arg0: Any): Boolean

   Definition Classes
     AnyRef → Any

4. #### final def asInstanceOf[T0]: T0

   Definition Classes
     Any

5. #### val bins: Broadcast[GenomeBins]

   Attributes
     protected

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 finalize(): Unit

   Attributes
     protected[java.lang]
   Definition Classes
     AnyRef
   Annotations
     @throws( classOf[java.lang.Throwable] )

10. #### final def getClass(): Class[_]

    Definition Classes
      AnyRef → Any

11. #### def hashCode(): Int

    Definition Classes
      AnyRef → Any

12. #### final def isInstanceOf[T0]: Boolean

    Definition Classes
      Any

13. #### final def ne(arg0: AnyRef): Boolean

    Definition Classes
      AnyRef

14. #### final def notify(): Unit

    Definition Classes
      AnyRef

15. #### final def notifyAll(): Unit

    Definition Classes
      AnyRef

16. #### def partitionAndJoin(leftRDD: RDD[(ReferenceRegion, T)], rightRDD: RDD[(ReferenceRegion, U)]): RDD[(RT, RU)]

    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
      ShuffleRegionJoin → RegionJoin

17. #### val seqLengths: Map[String, Long]

    Attributes
      protected

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

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

    Definition Classes
      AnyRef

20. #### def toString(): String

    Definition Classes
      AnyRef → Any

21. #### final def wait(): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

22. #### final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

23. #### final def wait(arg0: Long): Unit

    Definition Classes
      AnyRef
    Annotations
      @throws( ... )

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

### Inherited from Serializable

### Inherited from AnyRef

### Inherited from Any

### Ungrouped