org.apache.sysds.runtime.controlprogram.parfor

## Class ResultMergeRemoteSparkWCompare

- java.lang.Object
- - org.apache.sysds.runtime.controlprogram.parfor.ResultMerge<MatrixObject>
  - - org.apache.sysds.runtime.controlprogram.parfor.ResultMergeMatrix
    - - org.apache.sysds.runtime.controlprogram.parfor.ResultMergeRemoteSparkWCompare

All Implemented Interfaces:
  Serializable, org.apache.spark.api.java.function.PairFunction<scala.Tuple2<MatrixIndexes,scala.Tuple2<Iterable<MatrixBlock>,MatrixBlock>>,MatrixIndexes,MatrixBlock>

    public class ResultMergeRemoteSparkWCompare
    extends ResultMergeMatrix
    implements org.apache.spark.api.java.function.PairFunction<scala.Tuple2<MatrixIndexes,scala.Tuple2<Iterable<MatrixBlock>,MatrixBlock>>,MatrixIndexes,MatrixBlock>

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`ResultMergeRemoteSparkWCompare(boolean accum)`

### Method Summary

All Methods Instance Methods Concrete Methods
`scala.Tuple2<MatrixIndexes,MatrixBlock>` `call(scala.Tuple2<MatrixIndexes,scala.Tuple2<Iterable<MatrixBlock>,MatrixBlock>> arg)`
`MatrixObject` `executeParallelMerge(int par)` Merge all given input matrices in parallel into the given output matrix.
`MatrixObject` `executeSerialMerge()` Merge all given input matrices sequentially into the given output matrix.

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ResultMergeRemoteSparkWCompare

    public ResultMergeRemoteSparkWCompare(boolean accum)

### Method Detail

#### call

    public scala.Tuple2<MatrixIndexes,MatrixBlock> call(scala.Tuple2<MatrixIndexes,scala.Tuple2<Iterable<MatrixBlock>,MatrixBlock>> arg)
                                                 throws Exception

Specified by:
  `call` in interface `org.apache.spark.api.java.function.PairFunction<scala.Tuple2<MatrixIndexes,scala.Tuple2<Iterable<MatrixBlock>,MatrixBlock>>,MatrixIndexes,MatrixBlock>`
Throws:
  `Exception`

#### executeSerialMerge

    public MatrixObject executeSerialMerge()

Description copied from class: `ResultMerge`
Merge all given input matrices sequentially into the given output matrix. The required space in-memory is the size of the output matrix plus the size of one input matrix at a time.

Specified by:
  `executeSerialMerge` in class `ResultMerge<MatrixObject>`
Returns:
  output (merged) matrix

#### executeParallelMerge

    public MatrixObject executeParallelMerge(int par)

Description copied from class: `ResultMerge`
Merge all given input matrices in parallel into the given output matrix. The required space in-memory is the size of the output matrix plus the size of all input matrices.

Specified by:
  `executeParallelMerge` in class `ResultMerge<MatrixObject>`
Parameters:
  `par` - degree of parallelism
Returns:
  output (merged) matrix