Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
|
Public Member Functions | |
abstract void | materializeRequiredSlots (Analyzer analyzer, ExprSubstitutionMap smap) |
ArrayList< Expr > | getGroupingExprs () |
ArrayList< FunctionCallExpr > | getAggregateExprs () |
TupleDescriptor | getOutputTupleDesc () |
TupleDescriptor | getIntermediateTupleDesc () |
TupleId | getIntermediateTupleId () |
TupleId | getOutputTupleId () |
boolean | requiresIntermediateTuple () |
String | debugString () |
Static Public Member Functions | |
static< TextendsExpr > boolean | requiresIntermediateTuple (List< T > aggExprs) |
Protected Member Functions | |
AggregateInfoBase (ArrayList< Expr > groupingExprs, ArrayList< FunctionCallExpr > aggExprs) | |
void | createTupleDescs (Analyzer analyzer) |
abstract String | tupleDebugName () |
Protected Attributes | |
ArrayList< Expr > | groupingExprs_ |
ArrayList< FunctionCallExpr > | aggregateExprs_ |
TupleDescriptor | intermediateTupleDesc_ |
TupleDescriptor | outputTupleDesc_ |
ArrayList< Integer > | materializedSlots_ = Lists.newArrayList() |
Private Member Functions | |
TupleDescriptor | createTupleDesc (Analyzer analyzer, boolean isOutputTuple) |
Static Private Attributes | |
static final Logger | LOG |
Base class for AggregateInfo and AnalyticInfo containing the intermediate and output tuple descriptors as well as their smaps for evaluating aggregate functions.
Definition at line 20 of file AggregateInfoBase.java.
|
inlineprotected |
Definition at line 55 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.aggregateExprs_, and com.cloudera.impala.analysis.AggregateInfoBase.groupingExprs_.
|
inlineprivate |
Returns a tuple descriptor for the aggregation/analytic's intermediate or final result, depending on whether isOutputTuple is true or false. Also updates the appropriate substitution map, and creates and registers auxiliary equality predicates between the grouping slots and the grouping exprs.
Definition at line 87 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.aggregateExprs_, com.cloudera.impala.analysis.AggregateInfoBase.groupingExprs_, com.cloudera.impala.analysis.Expr.isConstant(), com.cloudera.impala.catalog.Type.isWildcardDecimal(), and com.cloudera.impala.analysis.AggregateInfoBase.tupleDebugName().
Referenced by com.cloudera.impala.analysis.AggregateInfoBase.createTupleDescs().
|
inlineprotected |
Creates the intermediate and output tuple descriptors. If no agg expr has an intermediate type different from its output type, then only the output tuple descriptor is created and the intermediate tuple is set to the output tuple.
Definition at line 70 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.aggregateExprs_, com.cloudera.impala.analysis.AggregateInfoBase.createTupleDesc(), com.cloudera.impala.analysis.AggregateInfoBase.intermediateTupleDesc_, com.cloudera.impala.analysis.AggregateInfoBase.outputTupleDesc_, and com.cloudera.impala.analysis.AggregateInfoBase.requiresIntermediateTuple().
Referenced by com.cloudera.impala.analysis.AggregateInfo.createDistinctAggInfo().
|
inline |
Definition at line 181 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.aggregateExprs_, com.cloudera.impala.analysis.Expr.debugString(), com.cloudera.impala.analysis.AggregateInfoBase.groupingExprs_, com.cloudera.impala.analysis.AggregateInfoBase.intermediateTupleDesc_, and com.cloudera.impala.analysis.AggregateInfoBase.outputTupleDesc_.
|
inline |
Definition at line 157 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.aggregateExprs_.
Referenced by com.cloudera.impala.analysis.SelectStmt.analyze(), com.cloudera.impala.analysis.AnalyzerTest.checkSelectToThrift(), com.cloudera.impala.analysis.AggregateInfo.createMergeAggInfo(), com.cloudera.impala.planner.AggregationNode.getNodeExplainString(), and com.cloudera.impala.analysis.AggregateInfo.hasAggregateExprs().
|
inline |
Definition at line 156 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.groupingExprs_.
Referenced by com.cloudera.impala.analysis.AnalyzerTest.checkSelectToThrift(), com.cloudera.impala.analysis.AggregateInfo.createMergeAggInfo(), com.cloudera.impala.analysis.AggregateInfo.createSecondPhaseAggInfo(), and com.cloudera.impala.planner.AggregationNode.getNodeExplainString().
|
inline |
Definition at line 159 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.intermediateTupleDesc_.
|
inline |
Definition at line 160 of file AggregateInfoBase.java.
Referenced by com.cloudera.impala.planner.AggregationNode.toThrift().
|
inline |
Definition at line 158 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.outputTupleDesc_.
Referenced by com.cloudera.impala.planner.AnalyticPlanner.collectWindowGroups().
|
inline |
Definition at line 161 of file AggregateInfoBase.java.
Referenced by com.cloudera.impala.planner.AggregationNode.AggregationNode(), com.cloudera.impala.planner.AnalyticPlanner.AnalyticPlanner(), com.cloudera.impala.analysis.SelectStmt.analyzeAggregation(), com.cloudera.impala.analysis.AggregateInfo.getResultTupleId(), com.cloudera.impala.planner.AggregationNode.setIntermediateTuple(), and com.cloudera.impala.planner.AggregationNode.toThrift().
|
abstract |
Marks the slots required for evaluating an Analytic/AggregateInfo by resolving the materialized aggregate/analytic exprs against smap, and then marking their slots.
|
inline |
Definition at line 162 of file AggregateInfoBase.java.
References com.cloudera.impala.analysis.AggregateInfoBase.intermediateTupleDesc_, and com.cloudera.impala.analysis.AggregateInfoBase.outputTupleDesc_.
Referenced by com.cloudera.impala.analysis.AggregateInfo.createSmaps(), and com.cloudera.impala.analysis.AggregateInfoBase.createTupleDescs().
|
inlinestatic |
Returns true if evaluating the given aggregate exprs requires an intermediate tuple, i.e., whether one of the aggregate functions has an intermediate type different from its output type.
Definition at line 173 of file AggregateInfoBase.java.
|
abstractprotected |
|
protected |
Definition at line 31 of file AggregateInfoBase.java.
Referenced by com.cloudera.impala.analysis.AggregateInfoBase.AggregateInfoBase(), com.cloudera.impala.analysis.AggregateInfo.createSecondPhaseAggInfo(), com.cloudera.impala.analysis.AggregateInfo.createSmaps(), com.cloudera.impala.analysis.AggregateInfoBase.createTupleDesc(), com.cloudera.impala.analysis.AggregateInfoBase.createTupleDescs(), com.cloudera.impala.analysis.AggregateInfoBase.debugString(), com.cloudera.impala.analysis.AggregateInfoBase.getAggregateExprs(), com.cloudera.impala.analysis.AggregateInfo.getRefdSlots(), and com.cloudera.impala.analysis.AggregateInfo.substitute().
|
protected |
Definition at line 26 of file AggregateInfoBase.java.
Referenced by com.cloudera.impala.analysis.AggregateInfoBase.AggregateInfoBase(), com.cloudera.impala.analysis.AggregateInfo.checkConsistency(), com.cloudera.impala.analysis.AggregateInfo.createSmaps(), com.cloudera.impala.analysis.AggregateInfoBase.createTupleDesc(), com.cloudera.impala.analysis.AggregateInfoBase.debugString(), com.cloudera.impala.analysis.AggregateInfoBase.getGroupingExprs(), com.cloudera.impala.analysis.AggregateInfo.getPartition(), com.cloudera.impala.analysis.AggregateInfo.getRefdSlots(), com.cloudera.impala.analysis.AggregateInfo.materializeRequiredSlots(), and com.cloudera.impala.analysis.AggregateInfo.substitute().
|
protected |
Definition at line 40 of file AggregateInfoBase.java.
Referenced by com.cloudera.impala.analysis.AggregateInfo.createMergeAggInfo(), com.cloudera.impala.analysis.AggregateInfo.createSecondPhaseAggInfo(), com.cloudera.impala.analysis.AggregateInfo.createSmaps(), com.cloudera.impala.analysis.AggregateInfoBase.createTupleDescs(), com.cloudera.impala.analysis.AggregateInfoBase.debugString(), com.cloudera.impala.analysis.AggregateInfoBase.getIntermediateTupleDesc(), com.cloudera.impala.analysis.AnalyticInfo.getRefdSlots(), and com.cloudera.impala.analysis.AggregateInfoBase.requiresIntermediateTuple().
|
staticprivate |
Definition at line 21 of file AggregateInfoBase.java.
|
protected |
Definition at line 53 of file AggregateInfoBase.java.
Referenced by com.cloudera.impala.analysis.AggregateInfo.createMergeAggInfo(), and com.cloudera.impala.analysis.AggregateInfo.getMaterializedAggregateExprs().
|
protected |
Definition at line 47 of file AggregateInfoBase.java.
Referenced by com.cloudera.impala.analysis.AggregateInfo.createMergeAggInfo(), com.cloudera.impala.analysis.AggregateInfo.createSmaps(), com.cloudera.impala.analysis.AggregateInfoBase.createTupleDescs(), com.cloudera.impala.analysis.AggregateInfoBase.debugString(), com.cloudera.impala.analysis.AggregateInfoBase.getOutputTupleDesc(), com.cloudera.impala.analysis.AggregateInfo.getRefdSlots(), and com.cloudera.impala.analysis.AggregateInfoBase.requiresIntermediateTuple().