private SubplanPattern createSubplanPattern() { final OperatorPattern operatorPattern = new OperatorPattern( "flatMap", new FlatMapOperator<>(null, DataSetType.none(), DataSetType.none()), false); return SubplanPattern.createSingleton(operatorPattern); }
@Override public Optional<org.qcri.rheem.core.optimizer.cardinality.CardinalityEstimator> createCardinalityEstimator( final int outputIndex, final Configuration configuration) { Validate.inclusiveBetween(0, this.getNumOutputs() - 1, outputIndex); return Optional.of(new FlatMapOperator.CardinalityEstimator(configuration)); }
vertexExtractor.at(epoch); vertexExtractor.setName(String.format("%s (extract vertices)", operatorBaseName)); forward.connectTo(0, vertexExtractor, 0); 0.5d, 1, false, longs -> Math.round(longs[0] * NUM_VERTICES_PER_EDGE / 2) )); vertexExtractor.connectTo(0, vertexDistincter, 0); ProbabilisticDoubleInterval.ofExactly(1d / NUM_VERTICES_PER_EDGE) )); partialRankCreator.at(epoch); partialRankCreator.setName(String.format("%s (create partial ranks)", operatorBaseName)); rankJoin.connectTo(0, partialRankCreator, 0); 0.5d, 1, false, longs -> Math.round(longs[0] * NUM_VERTICES_PER_EDGE) )); partialRankCreator.connectTo(0, sumPartialRanks, 0);
private SubplanPattern createSubplanPattern() { final OperatorPattern operatorPattern = new OperatorPattern( "flatMap", new FlatMapOperator<>(null, DataSetType.none(), DataSetType.none()), false ); return SubplanPattern.createSingleton(operatorPattern); }