Class SparseEncoding

  • All Implemented Interfaces:
    IEncode

    public class SparseEncoding
    extends AEncode
    A Encoding that contain a default value that is not encoded and every other value is encoded in the map. The logic is similar to the SDC column group.
    • Method Detail

      • combine

        public IEncode combine​(IEncode e)
        Description copied from interface: IEncode
        Combine two encodings, note it should be guaranteed by the caller that the number of unique multiplied does not overflow Integer.
        Parameters:
        e - The other side to combine with
        Returns:
        The combined encoding
      • combineWithMap

        public org.apache.commons.lang3.tuple.Pair<IEncode,​Map<Integer,​Integer>> combineWithMap​(IEncode e)
        Description copied from interface: IEncode
        Combine two encodings without resizing the output. meaning the mapping of the indexes should be consistent with left hand side Dictionary indexes and right hand side indexes.
        Parameters:
        e - The other side to combine with
        Returns:
        The combined encoding
      • getUnique

        public int getUnique()
        Description copied from interface: IEncode
        Get the number of unique values in this encoding
        Returns:
        The number of unique values.
      • extractFacts

        public EstimationFactors extractFacts​(int nRows,
                                              double tupleSparsity,
                                              double matrixSparsity,
                                              CompressionSettings cs)
        Description copied from interface: IEncode
        Extract the compression facts for this column group.
        Parameters:
        nRows - The total number of rows
        tupleSparsity - The Sparsity of the unique tuples
        matrixSparsity - The matrix sparsity
        cs - The compression settings
        Returns:
        A EstimationFactors object
      • isDense

        public boolean isDense()
        Description copied from interface: IEncode
        Signify if the counts are including zero or without zero.
        Returns:
        is dense
      • getOffsets

        public AOffset getOffsets()
      • getNumRows

        public int getNumRows()
      • equals

        public boolean equals​(IEncode e)
        Description copied from interface: IEncode
        Indicate if the given encoding is equivalent to this encoding
        Parameters:
        e - The other encoding to be compared with this
        Returns:
        If the encoding is equivalent