@Singleton public class DefaultPhysicalTableResolver extends BasePhysicalTableResolver
PhysicalTable
) based on the optimum (lowest query cost) table, considering
completeness of data, granularity, time alignment, aggregatability constraints and cardinality for a particular
query.
Modifier and Type | Field and Description |
---|---|
protected static DimensionCardinalityComparator |
CARDINALITY_COMPARATOR |
protected static GranularityComparator |
COMPARE_GRANULARITY |
Constructor and Description |
---|
DefaultPhysicalTableResolver(PartialDataHandler partialDataHandler,
VolatileIntervalsService volatileIntervalsService)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
BinaryOperator<PhysicalTable> |
getBetterTableOperator(QueryPlanningConstraint requestConstraint)
Create a binary operator which returns the 'better' of two physical table.
|
List<PhysicalTableMatcher> |
getMatchers(QueryPlanningConstraint requestConstraint)
Create a list of matchers based on a request and query.
|
filter, filter, resolve
protected static final GranularityComparator COMPARE_GRANULARITY
protected static final DimensionCardinalityComparator CARDINALITY_COMPARATOR
@Inject public DefaultPhysicalTableResolver(PartialDataHandler partialDataHandler, VolatileIntervalsService volatileIntervalsService)
partialDataHandler
- Handler for to use for PartialDatavolatileIntervalsService
- Service to get volatile intervals frompublic List<PhysicalTableMatcher> getMatchers(QueryPlanningConstraint requestConstraint)
BasePhysicalTableResolver
getMatchers
in class BasePhysicalTableResolver
requestConstraint
- contains the request constraints extracted from DataApiRequest and TemplateDruidQuerypublic BinaryOperator<PhysicalTable> getBetterTableOperator(QueryPlanningConstraint requestConstraint)
BasePhysicalTableResolver
getBetterTableOperator
in class BasePhysicalTableResolver
requestConstraint
- contains the request constraints extracted from DataApiRequest and TemplateDruidQueryCopyright © 2016–2018 Yahoo! Inc.. All rights reserved.