Package org.apache.druid.segment
-
Interface Summary Interface Description BaseDoubleColumnValueSelector Double value selecting polymorphic "part" of theColumnValueSelectorinterface.BaseFloatColumnValueSelector Float value selecting polymorphic "part" of theColumnValueSelectorinterface.BaseLongColumnValueSelector Long value selecting polymorphic "part" of theColumnValueSelectorinterface.BaseNullableColumnValueSelector Null value checking polymorphic "part" of theColumnValueSelectorinterface for primitive values.BaseObjectColumnValueSelector<T> Object value selecting polymorphic "part" of theColumnValueSelectorinterface.CloseableShapeshifter A CloseableShapeshifter is an interface created to allow Segments to be used fromCloseableShapeshifter.as(Class), but also to be able to ensure that any resource used by the object returned from theCloseableShapeshifter.as(Class)method have proper management of their lifecycle.ColumnInspector ColumnProcessorFactory<T> Class that encapsulates knowledge about how to create "column processors", which are...ColumnSelector ColumnSelectorFactory Factory class for MetricSelectorsColumnValueSelector<T> Base type for interfaces that manage column value selection, e.g.Cursor Cursor is an interface for iteration over a range of data points, used during query execution.CursorFactory Interface extended byStorageAdapter, which gives them the power to create cursors.DictionaryEncodedColumnMerger.ExtendedIndexesMerger Specifies any additional per value indexes which should be constructed whenDictionaryEncodedColumnMerger.writeIndexes(List)is called, on top of the standard bitmap index created withDictionaryEncodedColumnMerger.mergeBitmaps(java.util.List<java.nio.IntBuffer>, org.apache.druid.collections.bitmap.BitmapFactory, org.apache.druid.segment.DictionaryEncodedColumnMerger.IndexSeeker[], int)DictionaryEncodedColumnMerger.IndexSeeker DimensionDictionarySelector Interface containing dictionary-related methods common toDimensionSelector,SingleValueDimensionVectorSelector, andMultiValueDimensionVectorSelector.DimensionHandler<EncodedType extends Comparable<EncodedType>,EncodedKeyComponentType,ActualType extends Comparable<ActualType>> Processing related interface A DimensionHandler is an object that encapsulates indexing, column merging/building, and querying operations for a given dimension type (e.g., dict-encoded String, Long).DimensionHandlerProvider<EncodedType extends Comparable<EncodedType>,EncodedKeyComponentType,ActualType extends Comparable<ActualType>> DimensionIndexer<EncodedType extends Comparable<EncodedType>,EncodedKeyComponentType,ActualType extends Comparable<ActualType>> Processing related interface A DimensionIndexer is a per-dimension stateful object that encapsulates type-specific operations and data structures used during the in-memory ingestion process (i.e., work done byIncrementalIndex).DimensionMerger Processing related interface A DimensionMerger is a per-dimension stateful object that encapsulates type-specific operations and data structures used during the segment merging process (i.e., work done byIndexMerger).DimensionMergerV9 Processing related interface DimensionMerger subclass to be used with IndexMergerV9.DimensionSelector Selector for a string-typed column, either single- or multi-valued.DoubleColumnSelector This interface is convenient for implementation of "double-sourcing"ColumnValueSelectors, it provides default implementations for allColumnValueSelector's methods exceptBaseDoubleColumnValueSelector.getDouble().FloatColumnSelector This interface is convenient for implementation of "float-sourcing"ColumnValueSelectors, it provides default implementations for allColumnValueSelector's methods exceptBaseFloatColumnValueSelector.getFloat().GenericColumnSerializer<T> GenericColumnSerializer can be implemented in custom aggregator extensions that would like to take full control of column serialization.IdLookup "Mixin" forDimensionSelector.IndexableAdapter An adapter to an indexIndexMerger LongColumnSelector This interface is convenient for implementation of "long-sourcing"ColumnValueSelectors, it provides default implementations for allColumnValueSelector's methods exceptBaseLongColumnValueSelector.getLong().ProgressIndicator QueryableIndex Direct interface to memory mapped segments.ReferenceCountedObject Interface for an object that may have a reference acquired in the form of aCloseable.RowAdapter<RowType> An adapter between arbitrary types and the needs of callers that want to read specific columns out of those types (treating them as rows).RowIdSupplier Returned byColumnSelectorFactory.getRowIdSupplier().RowIterator Segment The difference between this class andDataSegmentis thatDataSegmentcontains the segment metadata only, while this class represents the actual body of segment data, queryable.SegmentLazyLoadFailCallback SegmentReference ASegmentwith a associated references, such asReferenceCountingSegmentwhere the reference is the segment itself, andHashJoinSegmentwhich wraps aReferenceCountingSegmentand also includes the associated list ofJoinableClauseSegmentWrangler Utility for creatingSegmentobjects for concrete datasources.StorageAdapter TimeAndDimsIterator TimeAndDimsIterator (in conjunction withTimeAndDimsPointer) is anIterator-like abstraction, designed for allocation-free transformation, merging, combining and iteration over a stream of data points.TransformableRowIterator TransformableRowIterator tightensRowIterator.getPointer()contract, that allows to transform iterated rows without allocations on each iterations, and reuse the mechanics of the underlying iterator.VectorColumnProcessorFactory<T> Class that encapsulates knowledge about how to create vector column processors.VirtualColumn Virtual columns are "views" created over aColumnSelectorFactoryorColumnSelector. -
Class Summary Class Description AbstractDimensionSelector An abstract class that provides an implementation ofAbstractDimensionSelector.getObject().AbstractSegment Deprecated. useSegmentdirectly as this does nothingArrayListSegment<RowType> ASegmentthat is based on a stream of objects.AutoTypeColumnIndexer AutoTypeColumnMerger Column merger forAutoTypeColumnIndexerto eventually produce some form ofNestedCommonFormatColumn.AutoTypeColumnMerger.ArrayDictionaryMergingIterator AutoTypeColumnMerger.IdLookupArrayIterator AutoTypeColumnSchema CommonDimensionSchemafor ingestion of 'standard' Druid built-inColumnTypedatatypes.BaseProgressIndicator BaseSingleValueDimensionSelector BitmapOffset ColumnCache ColumnProcessors Creates "column processors", which are objects that wrap a single input column and provide some functionality on top of it.ColumnSelectorColumnIndexSelector ComparatorDimensionDictionary<T> ComparatorbasedDimensionDictionarythere are a lot of unused methods in here for now since the only thing this is used for is to build up the unsorted dictionary and then it is converted to aComparatorSortedDimensionDictionary, but leaving the unused methods in place for now to be basically compatible with the other implementation.ComparatorSortedDimensionDictionary<T> ComparatorbasedSortedDimensionDictionaryThere are a number of unused methods, because nested columns don't merge bitmap indexes during the merge phase, rather they are created when serializing the column, but leaving for now for compatibility with the other implementationCompressedPools ConstantDimensionSelector ConstantExprEvalSelector ConstantMultiValueDimensionSelector DataSegmentsWithSchemas This immutable class encapsulates segments metadata and corresponding schema.DataSegmentWithMetadata Immutable wrapper class for segment and schema.DefaultColumnFormatConfig DeprecatedQueryableIndexColumnSelector Deprecated. DictionaryEncodedColumnIndexer<KeyType,ActualType extends Comparable<ActualType>> Basic structure for indexing dictionary encoded columnsDictionaryEncodedColumnMerger<T extends Comparable<T>> Base structure for merging dictionary encoded columnsDictionaryEncodedColumnMerger.ConvertingBitmapValues DictionaryEncodedColumnMerger.IndexSeekerWithConversion Get old dictId from new dictId, and only support access in orderDictionaryEncodedColumnMerger.IndexSeekerWithoutConversion DictionaryMergingIterator<T extends Comparable<T>> Iterator for merging dictionaries for some comparable type into a single sorted dictionary, useful when merging dictionary encoded columnsDimensionDictionary<T extends Comparable<T>> Buildable dictionary for some comparable type.DimensionHandlerUtils DimensionSelector.NullDimensionSelectorHolder This class not a public API.DimensionSelectorUtils DoubleColumnSerializer DoubleColumnSerializerV2 Column Serializer for double column.DoubleDimensionHandler DoubleDimensionIndexer DoubleDimensionMergerV9 DoubleWrappingDimensionSelector EncodedKeyComponent<K> Represents the encoded component of a row key corresponding to a single dimension.FilteredOffset FilteredStorageAdapter FloatColumnSerializer FloatColumnSerializerV2 Column Serializer for float column.FloatDimensionHandler FloatDimensionIndexer FloatDimensionMergerV9 FloatWrappingDimensionSelector ForwardingRowIterator Implementation ofTransformableRowIteratorthat just delegates all methods to some baseIterator (adapter pattern).IdMapping Map some set of dictionary id to a smaller set of dictionaryIds (or...IdMapping.Builder IncrementalIndexSegment IndexableAdapter.NestedColumnMergable IndexIO IndexIO.DefaultIndexIOHandler IndexMergerV9 IndexMergerV9Factory IndexSpec IndexSpec defines segment storage format options to be used at indexing time, such as bitmap type, and column compression formats.IndexSpec.Builder IntIteratorUtils IntListUtils LongColumnSerializer Unsafe for concurrent use from multiple threads.LongColumnSerializerV2 Column Serializer for long column.LongDimensionHandler LongDimensionIndexer LongDimensionMergerV9 LongWrappingDimensionSelector Metadata MetricHolder MMappedIndex NestedCommonFormatColumnHandler NestedDataColumnHandlerV4 NestedDataColumnIndexerV4 NestedDataColumnMergerV4 NestedDataColumnSchema Nested columnDimensionSchema.NilColumnValueSelector Represents "absent" column.NumericDimensionMergerV9 ObjectBasedColumnSelector<T> Object based column selector.ObjectColumnSelector<T> Restricts selector usage to only allowBaseObjectColumnValueSelector.getObject().QueryableIndexColumnSelectorFactory The basic implementation ofColumnSelectorFactoryover a historical segment (i.QueryableIndexCursorSequenceBuilder QueryableIndexCursorSequenceBuilder.AscendingTimestampCheckingOffset QueryableIndexCursorSequenceBuilder.DescendingTimestampCheckingOffset QueryableIndexCursorSequenceBuilder.TimestampCheckingOffset QueryableIndexIndexableAdapter QueryableIndexSegment QueryableIndexStorageAdapter ReferenceCountingCloseableObject<BaseObject extends Closeable> ReferenceCountingCloseableObject implements something like automatic reference count-based resource management, backed by aPhaser.ReferenceCountingSegment Segmentthat is also aReferenceCountingSegment, allowing query engines that operate directly on segments to track references so that dropping aSegmentcan be done safely to ensure there are no in-flight queries.RowAdapters Utility class for creatingRowAdapter.RowBasedColumnSelectorFactory<T> AColumnSelectorFactorythat is based on an object supplier and aRowAdapterfor that type of object.RowBasedCursor<RowType> ACursorthat is based on a stream of objects.RowBasedSegment<RowType> ASegmentthat is based on a stream of objects.RowBasedStorageAdapter<RowType> AStorageAdapterthat is based on a stream of objects.RowNumCounter Could be used as a simple "row number supplier" forRowPointerimplementations.RowPointer Extension ofTimeAndDimsPointer, that keeps "row number" of the current data point in some collection of data points, that actually makes this data point to be called "row", and the collection, thus, "collection of rows".RowWalker<T> Used byRowBasedStorageAdapterandRowBasedCursorto walk through rows.SchemaPayload Representation of schema payload, includes information like RowSignature and aggregator factories.SchemaPayloadPlus Wrapper overSchemaPayloadto includenumRowsinformation.SegmentMetadata Encapsulates segment level information like numRows, schema fingerprint.SegmentSchemaMapping Compact representation of segment schema for multiple segments.SegmentUtils Utility methods useful for implementing deep storage extensions.SimpleAscendingOffset SimpleDescendingOffset SimpleDictionaryMergingIterator<T extends Comparable<T>> SimpleQueryableIndex SimpleSettableOffset SingleScanTimeDimensionSelector A specialDimensionSelectorfor projected time columns - it assumes time values are scanned once and values are grouped together (i.e.SortedDimensionDictionary<T extends Comparable<T>> Creates a sorted dictionary given some existing dictionary, storing a mapping of both sorted id to unsorted id and unsorted id to sorted idStringDimensionDictionary DimensionDictionary for String dimension values.StringDimensionHandler StringDimensionIndexer StringDimensionMergerV9 TimeAndDimsPointer TimeAndDimsPointer is used in conjunction withTimeAndDimsIterator, it's an _immutable_ object that points to different logical data points, asTimeAndDimsIterator.moveToNext()is called.UnnestColumnValueSelectorCursor The cursor to help unnest MVDs without dictionary encoding and ARRAY type selectors.UnnestDimensionCursor The cursor to help unnest MVDs with dictionary encoding.UnnestStorageAdapter This class serves as the Storage Adapter for the Unnest Segment and is responsible for creating the cursors If the column is dictionary encoded it createsUnnestDimensionCursorelseUnnestColumnValueSelectorCursorThese cursors help navigate the segments for these casesVirtualColumns Class allowing lookup and usage of virtual columns.VirtualColumns.JsonIncludeFilter JsonIncludefilter forgetVirtualColumns().WrappedSegmentReference This class is used as a wrapper for other classes that just want to modify the storage adapter for a datasource. -
Enum Summary Enum Description MetricHolder.MetricType -
Exception Summary Exception Description SegmentMissingException SegmentValidationException