public EveryStats(Pipe pipe, Buffer buffer, Fields comparables) { super(pipe); setTails(new Every(pipe, decorateBuffer(buffer), comparables)); } }
@Override public void initialize() { super.initialize(); aggregator = every.getAggregator(); outputCollector = new TupleEntryCollector( getOperationDeclaredFields() ) { @Override protected void collect( TupleEntry resultEntry ) throws IOException { Tuple outgoing = outgoingBuilder.makeResult( incomingEntry.getTuple(), resultEntry.getTuple() ); outgoingEntry.setTuple( outgoing ); try { reducing.completeGroup( AggregatorEveryStage.this, outgoingEntry ); } finally { Tuples.asModifiable( outgoing ); } } }; reducing = (Reducing) getNext(); }
@Override public void initialize() { super.initialize(); buffer = every.getBuffer(); outputCollector = new TupleEntryCollector( getOperationDeclaredFields() ) { @Override protected void collect( TupleEntry resultEntry ) throws IOException { Tuple outgoing = outgoingBuilder.makeResult( incomingEntry.getTuple(), resultEntry.getTuple() ); outgoingEntry.setTuple( outgoing ); try { next.receive( BufferEveryWindow.this, 0, outgoingEntry ); } finally { Tuples.asModifiable( outgoing ); } } }; }
@Override public Scope outgoingScopeFor( Set<Scope> incomingScopes ) { Scope incomingScope = getFirst( incomingScopes ); if( !isBuffer() && incomingScope.getOutValuesFields().isNone() ) throw new OperatorException( this, "only a Buffer may be preceded by a CoGroup declaring Fields.NONE as the join fields" ); Fields argumentFields = resolveArgumentSelector( incomingScopes ); verifyArguments( argumentFields ); // we currently don't support using result from a previous Every in the current Every verifyAggregatorArguments( argumentFields, incomingScope ); Fields declaredFields = resolveDeclared( incomingScopes, argumentFields ); verifyDeclaredFields( declaredFields ); Fields outgoingGroupingFields = resolveOutgoingGroupingSelector( incomingScopes, argumentFields, declaredFields ); verifyOutputSelector( outgoingGroupingFields ); Fields outgoingValuesFields = incomingScope.getOutValuesFields(); // the incoming fields eligible to be outgoing, for Every only the grouping fields. Fields passThroughFields = resolveIncomingOperationPassThroughFields( incomingScope ); Fields remainderFields = resolveRemainderFields( incomingScopes, argumentFields ); return new Scope( getName(), Scope.Kind.EVERY, passThroughFields, remainderFields, argumentFields, declaredFields, outgoingGroupingFields, outgoingValuesFields ); }
public EveryStats(Pipe pipe, Aggregator aggregator, Fields comparables) { super(pipe); setTails(new Every(pipe, decorateAggregator(aggregator), comparables)); }
public EveryStats(Pipe pipe, Fields comparables, Buffer buffer) { super(pipe); setTails(new Every(pipe, comparables, decorateBuffer(buffer))); }
public EveryStats(Pipe pipe, Fields comparables, Aggregator aggregator) { super(pipe); setTails(new Every(pipe, comparables, decorateAggregator(aggregator))); }
public EveryStats(Pipe pipe, Fields comparables, Aggregator aggregator, Fields comparables2) { super(pipe); setTails(new Every(pipe, comparables, decorateAggregator(aggregator), comparables2)); }
public EveryStats(Pipe pipe, Aggregator aggregator) { super(pipe); setTails(new Every(pipe, decorateAggregator(aggregator))); }
public EveryStats(Pipe pipe, Buffer buffer) { super(pipe); setTails(new Every(pipe, decorateBuffer(buffer))); }
public EveryStats(Pipe pipe, Fields comparables, Buffer buffer, Fields comparables2) { super(pipe); setTails(new Every(pipe, comparables, decorateBuffer(buffer), comparables2)); }
protected void init(Pipe[] pipes, Fields[] groupFields, Fields groupRename, MultiBuffer operation) { Fields outputFields = groupRename.append(operation.getResultFields()); Pipe grouped = new CoGroup(pipes, groupFields, null, null, new BufferJoin()); grouped = new Every(grouped, new MultiBufferOperation(groupRename, operation), outputFields ); grouped = new Retain(grouped, outputFields ); setTails(grouped); } }
@Override public List<Pipe> resolveTails( Context context ) { Pipe pipe = new GroupBy( context.getTails().get( 0 ), new Fields( "ip" ) ); pipe = new Every( pipe, new Count(), new Fields( "ip", "count" ) ); return Arrays.asList( pipe ); }
@Override public List<Pipe> resolveTails( Context context ) { Pipe pipe = new GroupBy( context.getTails().get( 0 ), new Fields( "ip" ) ); pipe = new Every( pipe, new Count(), new Fields( "ip", "count" ) ); return Arrays.asList( pipe ); }
public Pipe createAssembly( Pipe pipe, Fields argFields, Fields declFields, String fieldValue, Fields selectFields ) { pipe = new GroupBy( pipe, Fields.ALL ); return new Every( pipe, argFields, new TestAggregator( declFields, new Tuple( fieldValue ) ), selectFields ); } }
public Pipe createAssembly( Pipe pipe, Fields argFields, Fields declFields, String fieldValue, Fields selectFields ) { pipe = new GroupBy( pipe, Fields.ALL ); return new Every( pipe, argFields, new TestAggregator( declFields, new Tuple( fieldValue ) ), selectFields ); } }
public FirstAssembly( Pipe previous ) { Pipe pipe = new Pipe( "first", previous ); pipe = new Each( pipe, new Identity() ); pipe = new GroupBy( pipe, Fields.ALL ); pipe = new Every( pipe, new First(), Fields.RESULTS ); setTails( pipe ); } }
public FirstAssembly( Pipe previous ) { Pipe pipe = new Pipe( "first", previous ); pipe = new Each( pipe, new Identity() ); pipe = new GroupBy( pipe, Fields.ALL ); pipe = new Every( pipe, new First(), Fields.RESULTS ); setTails( pipe ); } }
@Override public List<Pipe> resolveTails( Context context ) { Pipe pipe = new Pipe( (String) context.getFlow().getSourceNames().get( 0 ) ); pipe = new Each( pipe, new Fields( "line" ), new RegexParser( new Fields( "ip" ), "^[^ ]*" ), new Fields( "ip" ) ); pipe = new GroupBy( pipe, new Fields( "ip" ) ); pipe = new Every( pipe, new Count(), new Fields( "ip", "count" ) ); return Arrays.asList( pipe ); } };
@Override public List<Pipe> resolveTails( Context context ) { Pipe pipe = new Pipe( (String) context.getFlow().getSourceNames().get( 0 ) ); pipe = new Each( pipe, new Fields( "line" ), new RegexParser( new Fields( "ip" ), "^[^ ]*" ), new Fields( "ip" ) ); pipe = new GroupBy( pipe, new Fields( "ip" ) ); pipe = new Every( pipe, new Count(), new Fields( "ip", "count" ) ); return Arrays.asList( pipe ); } };