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.
|
String |
getColumnTypeName(String column)
Like
ColumnCapabilities.getType(), but may return a more descriptive string for complex columns. |
int |
getDimensionCardinality(String column)
Returns the number of distinct values for the given column if known, or
Integer.MAX_VALUE if unknown,
e. |
org.joda.time.Interval |
getInterval() |
org.joda.time.DateTime |
getMaxIngestedEventTime() |
org.joda.time.DateTime |
getMaxTime() |
Comparable |
getMaxValue(String column) |
Metadata |
getMetadata() |
org.joda.time.DateTime |
getMinTime() |
Comparable |
getMinValue(String column) |
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, waitgetTypeareNumeric, areNumeric, 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)
StorageAdapterInteger.MAX_VALUE if unknown,
e. g. the column is numeric. If the column doesn't exist, returns 0.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)
getMinValue in interface StorageAdapter@Nullable public Comparable getMaxValue(String column)
getMaxValue 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 name@Nullable public String getColumnTypeName(String column)
StorageAdapterColumnCapabilities.getType(), but may return a more descriptive string for complex columns.getColumnTypeName 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–2021 The Apache Software Foundation. All rights reserved.