public class IncrementalIndexStorageAdapter extends Object implements StorageAdapter
| Constructor and Description |
|---|
IncrementalIndexStorageAdapter(IncrementalIndex index) |
| Modifier and Type | Method and Description |
|---|---|
Indexed<String> |
getAvailableDimensions() |
Iterable<String> |
getAvailableMetrics() |
ColumnCapabilities |
getColumnCapabilities(String column)
Returns capabilities of a particular column, if known.
|
int |
getDimensionCardinality(String dimension)
Returns the number of distinct values for a column, or
DimensionDictionarySelector.CARDINALITY_UNKNOWN
if unknown. |
org.joda.time.Interval |
getInterval() |
org.joda.time.DateTime |
getMaxIngestedEventTime() |
org.joda.time.DateTime |
getMaxTime()
Metadata-only operation that returns an upper bound on
ColumnHolder.TIME_COLUMN_NAME values for this adapter. |
Comparable |
getMaxValue(String column)
Returns the minimum value of the provided column, if known through an index, dictionary, or cache.
|
Metadata |
getMetadata() |
org.joda.time.DateTime |
getMinTime()
Metadata-only operation that returns a lower bound on
ColumnHolder.TIME_COLUMN_NAME values for this adapter. |
Comparable |
getMinValue(String column)
Returns the minimum value of the provided column, if known through an index, dictionary, or cache.
|
int |
getNumRows() |
ColumnCapabilities |
getSnapshotColumnCapabilities(String column)
Sad workaround for
SegmentAnalyzer to deal with the fact that the
response from getColumnCapabilities(java.lang.String) is not accurate for string columns, in that it reports all string
columns as having multiple values. |
Sequence<Cursor> |
makeCursors(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
Granularity gran,
boolean descending,
QueryMetrics<?> queryMetrics)
Creates a sequence of Cursors, one for each time-granular bucket (based on the provided Granularity).
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetRowSignature, hasBuiltInFilters, isFromTombstonecanVectorize, makeVectorCursorgetColumnCapabilitiesWithDefault, getTypeareNumeric, areNumeric, areSameTypes, areSameTypes, areScalar, areScalar, canVectorize, canVectorizepublic IncrementalIndexStorageAdapter(IncrementalIndex index)
public org.joda.time.Interval getInterval()
getInterval in interface StorageAdapterpublic Indexed<String> getAvailableDimensions()
getAvailableDimensions in interface StorageAdapterpublic Iterable<String> getAvailableMetrics()
getAvailableMetrics in interface StorageAdapterpublic int getDimensionCardinality(String dimension)
StorageAdapterDimensionDictionarySelector.CARDINALITY_UNKNOWN
if unknown.
If the column doesn't exist, returns 1, because a column that doesn't exist is treated as a column of default
(or null) values.getDimensionCardinality in interface StorageAdapterpublic int getNumRows()
getNumRows in interface StorageAdapterpublic org.joda.time.DateTime getMinTime()
StorageAdapterColumnHolder.TIME_COLUMN_NAME values for this adapter. May be earlier than
the actual minimum data timestamp.
For QueryableIndexStorageAdapter and IncrementalIndexStorageAdapter
specifically, which back regular tables (i.e. TableDataSource), this method
contract is tighter: it does return the actual minimum data timestamp. This fact is leveraged by
TimeBoundaryQuery to return results using metadata only.getMinTime in interface StorageAdapterpublic org.joda.time.DateTime getMaxTime()
StorageAdapterColumnHolder.TIME_COLUMN_NAME values for this adapter. May be later than
the actual maximum data timestamp.
For QueryableIndexStorageAdapter and IncrementalIndexStorageAdapter
specifically, which back regular tables (i.e. TableDataSource), this method
contract is tighter: it does return the actual maximum data timestamp. This fact is leveraged by
TimeBoundaryQuery to return results using metadata only.getMaxTime in interface StorageAdapter@Nullable public Comparable getMinValue(String column)
StorageAdaptergetMinValue in interface StorageAdapter@Nullable public Comparable getMaxValue(String column)
StorageAdaptergetMaxValue in interface StorageAdapterpublic ColumnCapabilities getColumnCapabilities(String column)
StorageAdapterColumnSelectorFactory.getColumnCapabilities(String), which returns capabilities for virtual columns as
well.getColumnCapabilities in interface ColumnInspectorgetColumnCapabilities in interface StorageAdaptercolumn - column namepublic ColumnCapabilities getSnapshotColumnCapabilities(String column)
SegmentAnalyzer to deal with the fact that the
response from getColumnCapabilities(java.lang.String) is not accurate for string columns, in that it reports all string
columns as having multiple values. This method returns the actual capabilities of the underlying
IncrementalIndex at the time this method is called.public org.joda.time.DateTime getMaxIngestedEventTime()
getMaxIngestedEventTime in interface StorageAdapterpublic Sequence<Cursor> makeCursors(@Nullable Filter filter, org.joda.time.Interval interval, VirtualColumns virtualColumns, Granularity gran, boolean descending, @Nullable QueryMetrics<?> queryMetrics)
CursorFactorymakeCursors in interface CursorFactorypublic Metadata getMetadata()
getMetadata in interface StorageAdapterCopyright © 2011–2023 The Apache Software Foundation. All rights reserved.