Esempio n. 1
0
 public TridentState persistentAggregate(
     StateSpec spec, Fields inputFields, CombinerAggregator agg, Fields functionFields) {
   projectionValidation(inputFields);
   // replaces normal aggregation here with a global grouping because it
   // needs to be consistent across batches
   return new ChainedAggregatorDeclarer(this, new GlobalAggScheme())
       .aggregate(inputFields, agg, functionFields)
       .chainEnd()
       .partitionPersist(spec, functionFields, new CombinerAggStateUpdater(agg), functionFields);
 }
Esempio n. 2
0
 public Stream project(Fields keepFields) {
   projectionValidation(keepFields);
   return _topology.addSourcedNode(
       this,
       new ProcessorNode(
           _topology.getUniqueStreamId(),
           _name,
           keepFields,
           new Fields(),
           new ProjectedProcessor(keepFields)));
 }
Esempio n. 3
0
 // creates brand new tuples with brand new fields
 @Override
 public Stream partitionAggregate(Fields inputFields, Aggregator agg, Fields functionFields) {
   projectionValidation(inputFields);
   return _topology.addSourcedNode(
       this,
       new ProcessorNode(
           _topology.getUniqueStreamId(),
           _name,
           functionFields,
           functionFields,
           new AggregateProcessor(inputFields, agg)));
 }
Esempio n. 4
0
 @Override
 public Stream each(Fields inputFields, Function function, Fields functionFields) {
   projectionValidation(inputFields);
   return _topology.addSourcedNode(
       this,
       new ProcessorNode(
           _topology.getUniqueStreamId(),
           _name,
           TridentUtils.fieldsConcat(getOutputFields(), functionFields),
           functionFields,
           new EachProcessor(inputFields, function)));
 }
Esempio n. 5
0
 public Stream stateQuery(
     TridentState state, Fields inputFields, QueryFunction function, Fields functionFields) {
   projectionValidation(inputFields);
   String stateId = state._node.stateInfo.id;
   Node n =
       new ProcessorNode(
           _topology.getUniqueStreamId(),
           _name,
           TridentUtils.fieldsConcat(getOutputFields(), functionFields),
           functionFields,
           new StateQueryProcessor(stateId, inputFields, function));
   _topology._colocate.get(stateId).add(n);
   return _topology.addSourcedNode(this, n);
 }
Esempio n. 6
0
 public TridentState partitionPersist(
     StateSpec stateSpec, Fields inputFields, StateUpdater updater, Fields functionFields) {
   projectionValidation(inputFields);
   String id = _topology.getUniqueStateId();
   ProcessorNode n =
       new ProcessorNode(
           _topology.getUniqueStreamId(),
           _name,
           functionFields,
           functionFields,
           new PartitionPersistProcessor(id, inputFields, updater));
   n.committer = true;
   n.stateInfo = new NodeStateInfo(id, stateSpec);
   return _topology.addSourcedStateNode(this, n);
 }
Esempio n. 7
0
 public Stream partitionBy(Fields fields) {
   projectionValidation(fields);
   return partition(Grouping.fields(fields.toList()));
 }
Esempio n. 8
0
 public GroupedStream groupBy(Fields fields) {
   projectionValidation(fields);
   return new GroupedStream(this, fields);
 }
Esempio n. 9
0
 public TridentState persistentAggregate(
     StateSpec spec, Fields inputFields, ReducerAggregator agg, Fields functionFields) {
   projectionValidation(inputFields);
   return global()
       .partitionPersist(spec, inputFields, new ReducerAggStateUpdater(agg), functionFields);
 }
Esempio n. 10
0
 public Stream aggregate(Fields inputFields, ReducerAggregator agg, Fields functionFields) {
   projectionValidation(inputFields);
   return chainedAgg().aggregate(inputFields, agg, functionFields).chainEnd();
 }
Esempio n. 11
0
 public Stream partitionAggregate(
     Fields inputFields, CombinerAggregator agg, Fields functionFields) {
   projectionValidation(inputFields);
   return chainedAgg().partitionAggregate(inputFields, agg, functionFields).chainEnd();
 }