Package org.apache.druid.segment.data
@EverythingIsNonnullByDefault
package org.apache.druid.segment.data
-
ClassDescriptionA
ReadableOffsetimplementation that wraps an AtomicInteger.Doesn't extendIntIterableto avoid accidental for-each iteration with boxing.Serializer that producesBlockLayoutColumnarDoublesSupplier.BlockLayoutColumnarDoubles.Serializer that producesBlockLayoutColumnarFloatsSupplier.BlockLayoutColumnarFloats.Serializer that producesBlockLayoutColumnarLongsSupplier.BlockLayoutColumnarLongs.Resource that provides random access to a packed array of primitive doubles.Serializer that producesColumnarDoubles.Resource that provides random access to a packed array of primitive floats.Serializer that producesColumnarFloats.Resource that provides random access to a packed array of primitive int values.Serializer that produces eitherColumnarIntsorColumnarMultiInts.Resource that provides random access to a packed array of primitive longs.Serializer that producesColumnarLongs.Resource that provides random access to a packed array of short arrays of ints (IndexedInts).Serializer that producesColumnarMultiInts.Reader for a virtual contiguous address range backed by compressed blocks of data.Streams array of integers out in the binary format described byCompressedColumnarIntsSupplierStreams array of integers out in the binary format described byCompressedVSizeColumnarIntsSupplierFormat - byte 1 - version offsets -ColumnarIntsof length num of rows + 1 representing offsets of starting index of first element of each row in values index and last element equal to length of values column, the last element in the offsets represents the total length of values column.Compression of metrics is done by using a combination ofCompressionStrategyand Encoding(such asCompressionFactory.LongEncodingStrategyfor type Long).The compression of decompression of encodings are separated into different enums.This writer output encoded values to the given ByteBuffer or OutputStream.Compression strategy is used to compress block of bytes without knowledge of what data the bytes represents.Serializer that producesEntireLayoutColumnarDoublesSupplier.EntireLayoutColumnarDoubles.Serializer that producesEntireLayoutColumnarFloatsSupplier.EntireLayoutColumnarFloats.Serializer that producesEntireLayoutColumnarLongsSupplier.EntireLayoutColumnarLongs.FixedIndexed<T>Fixed width value implementation ofIndexed, stored simply as a header that contains the number of values, and then the values stored sequentially.Specialized version ofFixedIndexedWriterfor writing ints, with no support for null values, and no verification that data is actually sorted, it just trusts you and takes your word for itWriter for aFixedIndexedIndexedspecialized for storing variable-width binary values (such as utf8 encoded strings), which must be sorted and unique, using 'front coding'.Indexedspecialized for storing int arrays, which must be sorted and unique, using 'front coding'.A generic, flat storage mechanism.Streams arrays of objects out in the binary format described byGenericIndexedThe versionEncodedStringDictionaryWriter.VERSIONis reserved and must never be specified as theGenericIndexedversion byte, else it will interfere with string column deserialization.Indexed<T>Indexed is a fixed-size, immutable, indexed set of values which allows locating a specific index via an exact match, the semantics of which are defined by the implementation.Get a int an index (array or list lookup abstraction without boxing).Serializer that chooses optimalColumnarLongsformat dymamically, based on the values being written.ListIndexed<T>The "mutable" version of a ReadableOffset.Reusable IndexedInts that returns sequences [0, 1, ..., N].A ReadableOffset is an object that provides an integer offset, ostensibly as an index into an array.Safety first! Don't trust something whose contents you locations to read and write stuff to, but need aBufferorWritableBuffer? use this!Safety first! Don't trust something whose contents you locations to read and write stuff to, but need aMemoryorWritableMemory? use this!Reusable IndexedInts that represents a sequence of a solo value [X].Serializer that producesColumnarInts.Reusable IndexedInts, that could represent a sub-sequence ("slice") in a larger IndexedInts object.Streams array of integers out in the binary format described byV3CompressedVSizeColumnarMultiIntsSupplierThe format is mostly the same withCompressedVSizeColumnarMultiIntsSupplier(which has version 0x2, so we call it V2), the only difference is V3's offsets is not VSize encoded, it's just compressed.Streams integers out in the binary format described byVSizeColumnarIntsStreams arrays of objects out in the binary format described byVSizeColumnarMultiInts.Currently only support big endianUnpack bitpacked long values from an underlying contiguous memory blockAn IndexedInts that always returns a row containing a single zero.