Package org.apache.sysds.runtime.matrix.data.sketch.countdistinctapprox

## Class KMVSketch

- java.lang.Object
- - org.apache.sysds.runtime.matrix.data.sketch.countdistinctapprox.KMVSketch

- All Implemented Interfaces:
    `MatrixSketch<Integer>`

      public class KMVSketch
      extends Object

  KMV synopsis(for k minimum values) Distinct-Value Estimation Kevin S. Beyer, Peter J. Haas, Berthold Reinwald, Yannis Sismanis, Rainer Gemulla: On synopses for distinct‐value estimation under multiset operations. SIGMOD 2007 TODO: Add multi-threaded version

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `KMVSketch​(Operator op)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `CorrMatrixBlock` | `create​(MatrixBlock blkIn)` | Create a initial sketch of a given block.
    `MatrixBlock` | `getMatrixValue​(CorrMatrixBlock arg0)` | Obtain matrix distinct count value from estimation Used for estimating distinct in rows or columns.
    `Integer` | `getScalarValue​(MatrixBlock in)` | Get scalar distinct count from a input matrix block.
    `CorrMatrixBlock` | `intersection​(CorrMatrixBlock arg0, CorrMatrixBlock arg1)` | Intersect two sketches
    `CorrMatrixBlock` | `union​(CorrMatrixBlock arg0, CorrMatrixBlock arg1)` | Union two sketches together to from a combined sketch.
    `void` | `unionSketchByIndex​(CorrMatrixBlock arg0, CorrMatrixBlock arg1, int idx, CorrMatrixBlock blkOut)` |

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

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

- - ### Constructor Detail

    - #### KMVSketch

          public KMVSketch​(Operator op)

  - ### Method Detail

    - #### getScalarValue

          public Integer getScalarValue​(MatrixBlock in)

      Description copied from interface: `MatrixSketch`
      Get scalar distinct count from a input matrix block.
      Parameters:
        `in` - A input block to estimate the number of distinct values in
      Returns:
        The distinct count estimate

    - #### getMatrixValue

          public MatrixBlock getMatrixValue​(CorrMatrixBlock arg0)

      Description copied from interface: `MatrixSketch`
      Obtain matrix distinct count value from estimation Used for estimating distinct in rows or columns.
      Parameters:
        `arg0` - The sketch block to extract the count from
      Returns:
        The result matrix block

    - #### create

          public CorrMatrixBlock create​(MatrixBlock blkIn)

      Description copied from interface: `MatrixSketch`
      Create a initial sketch of a given block.
      Parameters:
        `blkIn` - A block to process
      Returns:
        A sketch

    - #### union

          public CorrMatrixBlock union​(CorrMatrixBlock arg0,
                                       CorrMatrixBlock arg1)

      Description copied from interface: `MatrixSketch`
      Union two sketches together to from a combined sketch.
      Parameters:
        `arg0` - Sketch one
        `arg1` - Sketch two
      Returns:
        The combined sketch

    - #### unionSketchByIndex

          public void unionSketchByIndex​(CorrMatrixBlock arg0,
                                         CorrMatrixBlock arg1,
                                         int idx,
                                         CorrMatrixBlock blkOut)

    - #### intersection

          public CorrMatrixBlock intersection​(CorrMatrixBlock arg0,
                                              CorrMatrixBlock arg1)

      Description copied from interface: `MatrixSketch`
      Intersect two sketches
      Parameters:
        `arg0` - Sketch one
        `arg1` - Sketch two
      Returns:
        The intersected sketch