@Override @SuppressWarnings("unchecked") protected Operator translate(SubplanMatch subplanMatch, int epoch) { final GroupByOperator groupBy = (GroupByOperator) subplanMatch.getMatch("groupBy").getOperator(); final ReduceOperator reduce = (ReduceOperator) subplanMatch.getMatch("reduce").getOperator(); return new ReduceByOperator<>( groupBy.getKeyDescriptor(), reduce.getReduceDescriptor(), groupBy.getInputType() ).at(epoch); } }
@Override @SuppressWarnings("unchecked") protected Operator translate(SubplanMatch subplanMatch, int epoch) { final ReduceOperator reduce = (ReduceOperator) subplanMatch.getMatch("reduce").getOperator(); return new GlobalReduceOperator<>( reduce.getReduceDescriptor(), reduce.getInputType() ).at(epoch); } }
@Override protected Operator translate(SubplanMatch subplanMatch, int epoch) { final GroupByOperator groupBy = (GroupByOperator) subplanMatch.getMatch("groupBy").getOperator(); return new MaterializedGroupByOperator<>( groupBy.getKeyDescriptor(), groupBy.getInputType(), groupBy.getOutputType() ).at(epoch); } }
@Override protected Operator translate(SubplanMatch subplanMatch, int epoch) { final IESelfJoinOperator<?, ?, ?> originalOperator = (IESelfJoinOperator<?, ?, ?>) subplanMatch.getMatch("ieselfjoin").getOperator(); return new SparkIESelfJoinOperator(originalOperator.getInputType(), originalOperator.getGet0Pivot(), originalOperator.getCond0(), originalOperator.getGet0Ref(), originalOperator.getCond1()).at(epoch); } }
@Override protected Operator translate(SubplanMatch subplanMatch, int epoch) { final IEJoinOperator<?, ?, ?> originalOperator = (IEJoinOperator<?, ?, ?>) subplanMatch.getMatch("iejoin").getOperator(); return new SparkIEJoinOperator(originalOperator.getInputType0(), originalOperator.getInputType1(), originalOperator.getGet0Pivot(), originalOperator.getGet1Pivot(), originalOperator.getCond0(), originalOperator.getGet0Ref(), originalOperator.getGet1Ref(), originalOperator.getCond1()).at(epoch); } }