@Override public void cleanup() { if (waterMarkEventGenerator != null) { waterMarkEventGenerator.shutdown(); } windowManager.shutdown(); bolt.cleanup(); }
@Override public void declareOutputFields(OutputFieldsDeclarer declarer) { String lateTupleStream = (String) getComponentConfiguration().get(Config.TOPOLOGY_BOLTS_LATE_TUPLE_STREAM); if (lateTupleStream != null) { declarer.declareStream(lateTupleStream, new Fields(LATE_TUPLE_FIELD)); } bolt.declareOutputFields(declarer); }
protected void boltExecute(Supplier<Iterator<Tuple>> tuples, Supplier<Iterator<Tuple>> newTuples, Supplier<Iterator<Tuple>> expiredTuples, Long timestamp) { bolt.execute(new TupleWindowIterImpl(tuples, newTuples, expiredTuples, getWindowStartTs(timestamp), timestamp)); }
public WindowedBoltExecutor(IWindowedBolt bolt) { this.bolt = bolt; timestampExtractor = bolt.getTimestampExtractor(); }
@Override public Map<String, Object> getComponentConfiguration() { return bolt.getComponentConfiguration(); }
protected void doPrepare(Map<String, Object> topoConf, TopologyContext context, OutputCollector collector, Collection<Event<Tuple>> queue, boolean stateful) { Objects.requireNonNull(topoConf); Objects.requireNonNull(context); Objects.requireNonNull(collector); Objects.requireNonNull(queue); this.windowedOutputCollector = new WindowedOutputCollector(collector); bolt.prepare(topoConf, context, windowedOutputCollector); this.listener = newWindowLifecycleListener(); this.windowManager = initWindowManager(listener, topoConf, context, queue, stateful); start(); LOG.info("Initialized window manager {} ", windowManager); }
@Override public com.twitter.heron.api.windowing.TimestampExtractor getTimestampExtractor() { return (this.delegate.getTimestampExtractor() == null) ? null : new com.twitter.heron.api.windowing.TimestampExtractor() { @Override public long extractTimestamp(com.twitter.heron.api.tuple.Tuple tuple) { return delegate.getTimestampExtractor().extractTimestamp(new TupleImpl(tuple)); } }; } }
@Override public Map<String, Object> getComponentConfiguration() { return bolt.getComponentConfiguration(); }
@Override public void prepare( Map<String, Object> conf, com.twitter.heron.api.topology.TopologyContext context, com.twitter.heron.api.bolt.OutputCollector collector) { topologyContextImpl = new TopologyContext(context); outputCollectorImpl = new OutputCollectorImpl(collector); delegate.prepare(conf, topologyContextImpl, outputCollectorImpl); }
public WindowedBoltExecutor(IWindowedBolt bolt) { this.bolt = bolt; timestampExtractor = bolt.getTimestampExtractor(); }
protected void boltExecute(List<Tuple> tuples, List<Tuple> newTuples, List<Tuple> expiredTuples, Long timestamp) { bolt.execute(new TupleWindowImpl(tuples, newTuples, expiredTuples, getWindowStartTs(timestamp), timestamp)); }
@Override public Map<String, Object> getComponentConfiguration() { Map<String, Object> config = delegate.getComponentConfiguration(); return ConfigUtils.translateComponentConfig(config); }
@Override public void declareOutputFields(com.twitter.heron.api.topology.OutputFieldsDeclarer declarer) { OutputFieldsGetter getter = new OutputFieldsGetter(declarer); delegate.declareOutputFields(getter); }
@Override public void cleanup() { this.delegate.cleanup(); }
@Override public void prepare(Map stormConf, TopologyContext context, OutputCollector collector) { this.windowedOutputCollector = new WindowedOutputCollector(collector); bolt.prepare(stormConf, context, windowedOutputCollector); this.listener = newWindowLifecycleListener(); this.windowManager = initWindowManager(listener, stormConf, context); start(); LOG.info("Initialized window manager {} ", windowManager); }
@Override public long extractTimestamp(com.twitter.heron.api.tuple.Tuple tuple) { return delegate.getTimestampExtractor().extractTimestamp(new TupleImpl(tuple)); } };
@Override public void execute(com.twitter.heron.api.windowing.TupleWindow inputWindow) { this.delegate.execute(new TupleWindowImpl(inputWindow)); }
@Override public void declareOutputFields(OutputFieldsDeclarer declarer) { String lateTupleStream = (String) getComponentConfiguration().get(Config.TOPOLOGY_BOLTS_LATE_TUPLE_STREAM); if (lateTupleStream != null) { declarer.declareStream(lateTupleStream, new Fields(LATE_TUPLE_FIELD)); } bolt.declareOutputFields(declarer); }
@Override public void cleanup() { if (waterMarkEventGenerator != null) { waterMarkEventGenerator.shutdown(); } windowManager.shutdown(); bolt.cleanup(); }
@Override public void onActivation(List<Tuple> tuples, List<Tuple> newTuples, List<Tuple> expiredTuples) { windowedOutputCollector.setContext(tuples); bolt.execute(new TupleWindowImpl(tuples, newTuples, expiredTuples)); } };