Class FixedBitMVForwardIndexReader
- java.lang.Object
-
- org.apache.pinot.segment.local.segment.index.readers.forward.FixedBitMVForwardIndexReader
-
- All Implemented Interfaces:
Closeable,AutoCloseable,IndexReader,ForwardIndexReader<FixedBitMVForwardIndexReader.Context>
public final class FixedBitMVForwardIndexReader extends Object implements ForwardIndexReader<FixedBitMVForwardIndexReader.Context>
Bit-compressed dictionary-encoded forward index reader for multi-value columns. The values returned are dictionary ids.Storage Layout:
- There will be three sections: CHUNK OFFSET, BITMAP and RAW DATA.
- CHUNK OFFSET contains the start offset of each chunk.
- BITMAP contains sequence of bits. The number of bits equals to the total number of values. The number of set bits equals to the number of rows. A bit is set if it is the start of a new row.
- RAW DATA contains the bit compressed values. We divide RAW DATA into chunks, where each chunk has the same number of rows.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFixedBitMVForwardIndexReader.Context
-
Constructor Summary
Constructors Constructor Description FixedBitMVForwardIndexReader(PinotDataBuffer dataBuffer, int numDocs, int numValues, int numBitsPerValue)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()FixedBitMVForwardIndexReader.ContextcreateContext()intgetDictIdMV(int docId, int[] dictIdBuffer, FixedBitMVForwardIndexReader.Context context)int[]getDictIdMV(int docId, FixedBitMVForwardIndexReader.Context context)intgetNumValuesMV(int docId, FixedBitMVForwardIndexReader.Context context)FieldSpec.DataTypegetStoredType()booleanisDictionaryEncoded()booleanisSingleValue()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.pinot.segment.spi.index.reader.ForwardIndexReader
getBigDecimal, getBytes, getBytesMV, getBytesMV, getCompressionType, getDictId, getDouble, getDoubleMV, getDoubleMV, getFloat, getFloatMV, getFloatMV, getInt, getIntMV, getIntMV, getLengthOfLongestEntry, getLong, getLongMV, getLongMV, getString, getStringMV, getStringMV, readDictIds, readValuesMV, readValuesMV, readValuesMV, readValuesMV, readValuesMV, readValuesMV, readValuesSV, readValuesSV, readValuesSV, readValuesSV, readValuesSV
-
-
-
-
Constructor Detail
-
FixedBitMVForwardIndexReader
public FixedBitMVForwardIndexReader(PinotDataBuffer dataBuffer, int numDocs, int numValues, int numBitsPerValue)
-
-
Method Detail
-
isDictionaryEncoded
public boolean isDictionaryEncoded()
- Specified by:
isDictionaryEncodedin interfaceForwardIndexReader<FixedBitMVForwardIndexReader.Context>
-
isSingleValue
public boolean isSingleValue()
- Specified by:
isSingleValuein interfaceForwardIndexReader<FixedBitMVForwardIndexReader.Context>
-
getStoredType
public FieldSpec.DataType getStoredType()
- Specified by:
getStoredTypein interfaceForwardIndexReader<FixedBitMVForwardIndexReader.Context>
-
createContext
public FixedBitMVForwardIndexReader.Context createContext()
- Specified by:
createContextin interfaceForwardIndexReader<FixedBitMVForwardIndexReader.Context>
-
getDictIdMV
public int getDictIdMV(int docId, int[] dictIdBuffer, FixedBitMVForwardIndexReader.Context context)- Specified by:
getDictIdMVin interfaceForwardIndexReader<FixedBitMVForwardIndexReader.Context>
-
getDictIdMV
public int[] getDictIdMV(int docId, FixedBitMVForwardIndexReader.Context context)- Specified by:
getDictIdMVin interfaceForwardIndexReader<FixedBitMVForwardIndexReader.Context>
-
getNumValuesMV
public int getNumValuesMV(int docId, FixedBitMVForwardIndexReader.Context context)- Specified by:
getNumValuesMVin interfaceForwardIndexReader<FixedBitMVForwardIndexReader.Context>
-
close
public void close()
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable
-
-