public class HashJoinSegmentStorageAdapter extends Object implements StorageAdapter
| Modifier and Type | Method and Description |
|---|---|
boolean |
canVectorize(Filter filter,
VirtualColumns virtualColumns,
boolean descending)
Returns true if the provided combination of parameters can be handled by "makeVectorCursor".
|
Set<String> |
determineBaseColumnsWithPreAndPostJoinVirtualColumns(VirtualColumns virtualColumns,
List<VirtualColumn> preJoinVirtualColumns,
List<VirtualColumn> postJoinVirtualColumns)
Return a String set containing the name of columns that belong to the base table (including any pre-join virtual
columns as well).
|
Indexed<String> |
getAvailableDimensions() |
Iterable<String> |
getAvailableMetrics() |
ColumnCapabilities |
getColumnCapabilities(String column)
Returns capabilities of a particular column, if known.
|
int |
getDimensionCardinality(String column)
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() |
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() |
Comparable |
getMinValue(String column)
Returns the minimum value of the provided column, if known through an index, dictionary, or cache.
|
int |
getNumRows() |
boolean |
hasBuiltInFilters()
Returns true if this storage adapter can filter some rows out.
|
boolean |
isBaseColumn(String column)
Returns whether "column" will be selected from "baseAdapter".
|
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).
|
VectorCursor |
makeVectorCursor(Filter filter,
org.joda.time.Interval interval,
VirtualColumns virtualColumns,
boolean descending,
int vectorSize,
QueryMetrics<?> queryMetrics)
Creates a VectorCursor.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetRowSignaturegetColumnCapabilitiesWithDefault, getTypeareNumeric, areNumeric, areSameTypes, areSameTypes, areScalar, areScalar, canVectorize, canVectorizepublic 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 column)
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 org.joda.time.DateTime getMinTime()
getMinTime in interface StorageAdapterpublic org.joda.time.DateTime getMaxTime()
getMaxTime in interface StorageAdapter@Nullable public Comparable getMinValue(String column)
StorageAdaptergetMinValue in interface StorageAdapter@Nullable public Comparable getMaxValue(String column)
StorageAdaptergetMaxValue in interface StorageAdapter@Nullable public ColumnCapabilities getColumnCapabilities(String column)
StorageAdapterColumnSelectorFactory.getColumnCapabilities(String), which returns capabilities for virtual columns as
well.getColumnCapabilities in interface ColumnInspectorgetColumnCapabilities in interface StorageAdaptercolumn - column namepublic int getNumRows()
getNumRows in interface StorageAdapterpublic org.joda.time.DateTime getMaxIngestedEventTime()
getMaxIngestedEventTime in interface StorageAdapterpublic Metadata getMetadata()
getMetadata in interface StorageAdapterpublic boolean hasBuiltInFilters()
StorageAdapterStorageAdapter.getDimensionCardinality(java.lang.String) returns if this returns true. Dimension selectors for such storage adapter
can return non-contiguous dictionary IDs because the dictionary IDs in filtered rows will not be returned.
Note that the number of rows accessible via this storage adapter will not necessarily decrease because of
the built-in filters. For inner joins, for example, the number of joined rows can be larger than
the number of rows in the base adapter even though this method returns true.hasBuiltInFilters in interface StorageAdapterpublic boolean canVectorize(@Nullable Filter filter, VirtualColumns virtualColumns, boolean descending)
CursorFactorycanVectorize in interface CursorFactory@Nullable public VectorCursor makeVectorCursor(@Nullable Filter filter, org.joda.time.Interval interval, VirtualColumns virtualColumns, boolean descending, int vectorSize, @Nullable QueryMetrics<?> queryMetrics)
CursorFactorymakeVectorCursor in interface CursorFactorypublic Sequence<Cursor> makeCursors(@Nullable Filter filter, @Nonnull org.joda.time.Interval interval, @Nonnull VirtualColumns virtualColumns, @Nonnull Granularity gran, boolean descending, @Nullable QueryMetrics<?> queryMetrics)
CursorFactorymakeCursors in interface CursorFactorypublic boolean isBaseColumn(String column)
public Set<String> determineBaseColumnsWithPreAndPostJoinVirtualColumns(VirtualColumns virtualColumns, @Nullable List<VirtualColumn> preJoinVirtualColumns, @Nullable List<VirtualColumn> postJoinVirtualColumns)
virtualColumns - List of virtual columns from the querypreJoinVirtualColumns - If provided, virtual columns determined to be pre-join will be added to this listpostJoinVirtualColumns - If provided, virtual columns determined to be post-join will be added to this listCopyright © 2011–2022 The Apache Software Foundation. All rights reserved.