Class OnHeapStringDictionary

  • All Implemented Interfaces:
    Closeable, AutoCloseable, IndexReader, Dictionary

    public class OnHeapStringDictionary
    extends BaseImmutableDictionary
    Implementation of String dictionary that cache all values on-heap.

    This is useful for String columns that:

    • Has low cardinality string dictionary where memory footprint on-heap is acceptably small
    • Is heavily queried

    This helps avoid creation of String from byte[], which is expensive as well as creates garbage.

    • Constructor Detail

      • OnHeapStringDictionary

        public OnHeapStringDictionary​(PinotDataBuffer dataBuffer,
                                      int length,
                                      int numBytesPerValue)
    • Method Detail

      • insertionIndexOf

        public int insertionIndexOf​(String stringValue)
      • get

        public String get​(int dictId)
      • getIntValue

        public int getIntValue​(int dictId)
      • getLongValue

        public long getLongValue​(int dictId)
      • getFloatValue

        public float getFloatValue​(int dictId)
      • getDoubleValue

        public double getDoubleValue​(int dictId)
      • getBigDecimalValue

        public BigDecimal getBigDecimalValue​(int dictId)
      • getStringValue

        public String getStringValue​(int dictId)
      • getBytesValue

        public byte[] getBytesValue​(int dictId)