private SubplanPattern createSubplanPattern() { final OperatorPattern operatorPattern = new OperatorPattern<>( "count", new CountOperator<>(DataSetType.none()), false ); return SubplanPattern.createSingleton(operatorPattern); }
@Override public Optional<CardinalityEstimator> createCardinalityEstimator( final int outputIndex, final Configuration configuration) { Validate.inclusiveBetween(0, this.getNumOutputs() - 1, outputIndex); return Optional.of(new FixedSizeCardinalityEstimator(1)); } }
CountOperator<Long> vertexCounter = new CountOperator<>(Long.class); vertexCounter.at(epoch); vertexCounter.setName(String.format("%s (count vertices)", operatorBaseName)); vertexDistincter.connectTo(0, vertexCounter, 0); initializeRanks.setName(String.format("%s (initialize ranks)", operatorBaseName)); vertexDistincter.connectTo(0, initializeRanks, 0); vertexCounter.broadcastTo(0, initializeRanks, "numVertices"); damping.setName(String.format("%s (damping)", operatorBaseName)); sumPartialRanks.connectTo(0, damping, 0); vertexCounter.broadcastTo(0, damping, "numVertices"); loopHead.endIteration(damping, 0);
private SubplanPattern createSubplanPattern() { final OperatorPattern operatorPattern = new OperatorPattern( "count", new CountOperator<>(DataSetType.none()), false ); return SubplanPattern.createSingleton(operatorPattern); }