private ExprNodeDesc getRSColExprFromResidualFilter(ExprNodeDesc childExpr, CommonJoinOperator<JoinDesc> join) { ExprNodeColumnDesc colExpr = ExprNodeDescUtils.getColumnExpr(childExpr); final String joinColName = colExpr.getColumn(); // use name to get the alias pos of parent and name in parent final int aliasPos = join.getConf().getReversedExprs().get(joinColName); final ExprNodeDesc rsColExpr = join.getColumnExprMap().get(joinColName); // Get the correct parent final ReduceSinkOperator parentRS = (ReduceSinkOperator) (join.getParentOperators().get(aliasPos)); // Fetch the colExpr from parent return parentRS.getColumnExprMap().get( ExprNodeDescUtils.extractColName(rsColExpr)); }
for (Operator<?> op : ((CommonJoinOperator<?>) cursor).getParentOperators()) { if (target.isAssignableFrom(op.getClass())) { return (T) op;
ReduceSinkOperator source = (ReduceSinkOperator) stack.get(stack.size() - 2); FilterOperator filter = (FilterOperator) stack.get(stack.size() - 3); int srcPos = join.getParentOperators().indexOf(source); List<Operator<? extends OperatorDesc>> parents = join.getParentOperators(); for (int targetPos : targets[srcPos]) { ReduceSinkOperator target = (ReduceSinkOperator) parents.get(targetPos);
int pos = entry.getKey(); ColStatistics csFK = entry.getValue(); ReduceSinkOperator parent = (ReduceSinkOperator) jop.getParentOperators().get(pos); Statistics parentStats = parent.getStatistics(); if (fkInd == pos) {
ReduceSinkOperator source = (ReduceSinkOperator) stack.get(stack.size() - 2); FilterOperator filter = (FilterOperator) stack.get(stack.size() - 3); int srcPos = join.getParentOperators().indexOf(source); List<Operator<? extends OperatorDesc>> parents = join.getParentOperators(); for (int targetPos : targets[srcPos]) { ReduceSinkOperator target = (ReduceSinkOperator) parents.get(targetPos);
int pos = entry.getKey(); ColStatistics csFK = entry.getValue(); ReduceSinkOperator parent = (ReduceSinkOperator) jop.getParentOperators().get(pos); Statistics parentStats = parent.getStatistics(); if (fkInd == pos) {
int srcPos = join.getParentOperators().indexOf(source); List<Operator<? extends OperatorDesc>> parents = join.getParentOperators();
for (int pos = 0; pos < op.getParentOperators().size(); pos++) { List<ExprNodeDesc> valueCols = conf.getExprs() .get(Byte.valueOf((byte) pos));
for (int pos = 0; pos < op.getParentOperators().size(); pos++) { List<ExprNodeDesc> valueCols = conf.getExprs() .get(Byte.valueOf((byte) pos));
int srcPos = join.getParentOperators().indexOf(source); List<Operator<? extends OperatorDesc>> parents = join.getParentOperators();
final ReduceSinkOperator rsOp = (ReduceSinkOperator) joinOp.getParentOperators().get(srcPos); continue; final ReduceSinkOperator otherRsOp = (ReduceSinkOperator) joinOp.getParentOperators().get(targetPos); final Operator<?> otherRsOpInput = otherRsOp.getParentOperators().get(0);
long newNumRows = 0; CommonJoinOperator<? extends JoinDesc> jop = (CommonJoinOperator<? extends JoinDesc>) nd; List<Operator<? extends OperatorDesc>> parents = jop.getParentOperators(); int numAttr = 1; AnnotateStatsProcCtx aspCtx = (AnnotateStatsProcCtx) procCtx; if (!(jop.getParentOperators().get(pos) instanceof ReduceSinkOperator)) { allSatisfyPreCondition = false; break; ReduceSinkOperator rsOp = (ReduceSinkOperator) jop.getParentOperators().get(0); List<String> keyExprs = StatsUtils.getQualifedReducerKeyNames(rsOp.getConf() .getOutputKeyColumnNames()); ReduceSinkOperator parent = (ReduceSinkOperator) jop.getParentOperators().get(pos); Statistics parentStats; parentStats = parent.getStatistics().clone(); if (jop.getParentOperators().get(0) instanceof ReduceSinkOperator) { ReduceSinkOperator rsOp = (ReduceSinkOperator) jop.getParentOperators().get(0); List<String> keyExprs = StatsUtils.getQualifedReducerKeyNames(rsOp.getConf() .getOutputKeyColumnNames());
long newNumRows = 0; CommonJoinOperator<? extends JoinDesc> jop = (CommonJoinOperator<? extends JoinDesc>) nd; List<Operator<? extends OperatorDesc>> parents = jop.getParentOperators(); int numAttr = 1; AnnotateStatsProcCtx aspCtx = (AnnotateStatsProcCtx) procCtx; ReduceSinkOperator rsOp = (ReduceSinkOperator) jop.getParentOperators().get(0); List<String> keyExprs = StatsUtils.getQualifedReducerKeyNames(rsOp.getConf() .getOutputKeyColumnNames()); ReduceSinkOperator parent = (ReduceSinkOperator) jop.getParentOperators().get(pos); Statistics parentStats; try { if (jop.getParentOperators().get(0) instanceof ReduceSinkOperator) { ReduceSinkOperator rsOp = (ReduceSinkOperator) jop.getParentOperators().get(0); List<String> keyExprs = StatsUtils.getQualifedReducerKeyNames(rsOp.getConf() .getOutputKeyColumnNames());
ReduceSinkOperator source = (ReduceSinkOperator) stack.get(stack.size() - 2); FilterOperator filter = (FilterOperator) stack.get(stack.size() - 3); int srcPos = join.getParentOperators().indexOf(source); List<Operator<? extends OperatorDesc>> parents = join.getParentOperators(); for (int targetPos : targets[srcPos]) { ReduceSinkOperator target = (ReduceSinkOperator) parents.get(targetPos);
int pos = entry.getKey(); ColStatistics csFK = entry.getValue(); ReduceSinkOperator parent = (ReduceSinkOperator) jop.getParentOperators().get(pos); Statistics parentStats = parent.getStatistics(); if (fkInd == pos) {
for (int pos = 0; pos < op.getParentOperators().size(); pos++) { List<ExprNodeDesc> valueCols = conf.getExprs() .get(new Byte((byte) pos));
for (int pos = 0; pos < op.getParentOperators().size(); pos++) { List<ExprNodeDesc> valueCols = conf.getExprs() .get(Byte.valueOf((byte) pos));
int srcPos = join.getParentOperators().indexOf(source); List<Operator<? extends OperatorDesc>> parents = join.getParentOperators();
long newNumRows = 0; CommonJoinOperator<? extends JoinDesc> jop = (CommonJoinOperator<? extends JoinDesc>) nd; List<Operator<? extends OperatorDesc>> parents = jop.getParentOperators(); int numAttr = 1; AnnotateStatsProcCtx aspCtx = (AnnotateStatsProcCtx) procCtx; ReduceSinkOperator rsOp = (ReduceSinkOperator) jop.getParentOperators().get(0); List<String> keyExprs = StatsUtils.getQualifedReducerKeyNames(rsOp.getConf() .getOutputKeyColumnNames()); ReduceSinkOperator parent = (ReduceSinkOperator) jop.getParentOperators().get(pos); Statistics parentStats = parent.getStatistics(); keyExprs = StatsUtils.getQualifedReducerKeyNames(parent.getConf()