@Override public long extractTimestamp(Tuple element) { return element.getLong(1); } }
@Override public long extractTimestamp(Tuple element) { return element.getLong(1); } }
@Override public void execute(Tuple input) { long count = input.getLong(0); collector.ack(input); }
@Override public void execute(Tuple input, BasicOutputCollector collector) { BatchId id = (BatchId) input.getValue(0); Long value = input.getLong(1); AtomicLong counter = counters.get(id); if (counter == null) { counter = new AtomicLong(0); counters.put(id, counter); } counter.addAndGet(value); }
public void execute(Tuple input) { Integer sourceId = input.getInteger(0); Long eventId = input.getLong(1); Long recentEvent = recentEventId.get(sourceId); if (null != recentEvent && eventId <= recentEvent) { String error = "Error: event id is not in strict order! event source Id: " + sourceId + ", last event Id: " + recentEvent + ", current event Id: " + eventId; _collector.emit(input, new Values(error)); } recentEventId.put(sourceId, eventId); _collector.ack(input); }
@Override public void execute(Tuple tuple) { Object obj = tuple.getValue(0); long count = tuple.getLong(1); int source = tuple.getSourceTask(); Map<Integer, Long> subCounts = counts.get(obj); if (subCounts == null) { subCounts = new HashMap<Integer, Long>(); counts.put(obj, subCounts); } // Update the current count for this object subCounts.put(source, count); // Output the sum of all the known counts so for this key long sum = 0; for (Long val : subCounts.values()) { sum += val; } collector.emit(new Values(obj, sum)); }
public void execute(Tuple tuple, BasicOutputCollector collector) { tpsCounter.count(); Long tupleId = tuple.getLong(0); Pair pair = (Pair) tuple.getValue(1); sum.addAndGet(pair.getValue()); collector.emit(new Values(tupleId, pair)); }
public void execute(Tuple tuple, BasicOutputCollector collector) { tpsCounter.count(); Long tupleId = tuple.getLong(0); Object obj = tuple.getValue(1); if (obj instanceof TradeCustomer) { TradeCustomer tradeCustomer = (TradeCustomer) obj; Pair trade = tradeCustomer.getTrade(); Pair customer = tradeCustomer.getCustomer(); collector.emit(SequenceTopologyDef.TRADE_STREAM_ID, new Values(tupleId, trade)); collector.emit(SequenceTopologyDef.CUSTOMER_STREAM_ID, new Values(tupleId, customer)); } else if (obj != null) { LOG.info("Unknow type " + obj.getClass().getName()); } else { LOG.info("Nullpointer "); } }
Long tupleId = input.getLong(0); Pair pair = (Pair) input.getValue(1);
Long tupleId = input.getLong(0); if (tupleId <= lastTupleId) {
@Override // update the stream public void execute(Tuple input) { long timestamp = input.getLong(1); set.add(timestamp); if (previousTimestamp != timestamp) { if (previousTimestamp != 0) { System.out.println("\n\n\n\n\n\n" + output + "\n\n\n\n\n\n\n"); output = ""; } previousTimestamp = timestamp; } String entityId = input.getString(0); double dataInstanceScore = input.getDouble(2); Double streamScore = accumulateScores.get(entityId); if (streamScore == null) { streamScore = 0.0; } streamScore = dataInstanceScore + streamScore * Math.exp(-lambda * (previousTimestamp == 0? 1 : timestamp - previousTimestamp)); accumulateScores.put(entityId, streamScore); output += "EntityID:" + entityId + "\t\tAccummulated Score:" + streamScore + "\n"; }
public void execute(Tuple input) { Integer sourceId = input.getInteger(0); Long eventId = input.getLong(1); Long recentEvent = recentEventId.get(sourceId); if (null != recentEvent && eventId <= recentEvent) { String error = "Error: event id is not in strict order! event source Id: " + sourceId + ", last event Id: " + recentEvent + ", current event Id: " + eventId; _collector.emit(input, new Values(error)); } recentEventId.put(sourceId, eventId); _collector.ack(input); }
@Override public void execute(Tuple input) { try { String user = input.getString(0); Long timestamp = input.getLong(1); String metricKey = generateMetricKey(user); if (registry.getMetrics().get(metricKey) == null) { EagleCounterMetric metric = new EagleCounterMetric(timestamp, metricKey, 1.0, granularity); metric.registerListener(listener); registry.register(metricKey, metric); } else { EagleMetric metric = (EagleMetric)registry.getMetrics().get(metricKey); metric.update(1, timestamp); //TODO: if we need to remove metric from registry } } catch (Exception ex) { LOG.error("Got an exception, ex: ", ex); }finally { collector.ack(input); } } }
CallDetailRecord cdr = (CallDetailRecord) input.getValue(3); String number = input.getString(0); long timestamp = input.getLong(1); double rate = input.getDouble(2);
@Override public void execute(Tuple tuple) { int type = tuple.getInteger(0); Long key = tuple.getLong(1); double value = RaceUtils.round(tuple.getDouble(2)); LOG.info("FLUSH_TO_TAIR type:{} key:{} value:{}",type, key, value); switch (type){ case RaceConfig.RATIO: tairOperator.write(RaceConfig.prex_ratio+key,value); break; case RaceConfig.TB_PAY: tairOperator.write(RaceConfig.prex_taobao+key,value); break; case RaceConfig.TM_PAY: tairOperator.write(RaceConfig.prex_tmall+key,value); break; default: LOG.info("unknown value type {}",type); } collector.ack(tuple); updateSendTps(); }
@Override public void execute(Tuple tuple) { collector.ack(tuple); Long orderId = tuple.getLong(0); int from = tuple.getInteger(1); Long ctime = tuple.getLong(2); double amount = tuple.getDouble(3); //LOG.info("OrderJoinReceive orderId:{} from:{} amount:{}",orderId, from, amount); if (from > 0){ orderJoinMap.merge(new OrderJoinItem(orderId).from(from).totalPrice(amount).ctime(ctime)); }else { orderJoinMap.merge(new OrderJoinItem(orderId).from(from).totalPay(amount).ctime(ctime)); } updateSendTps(); }
@Override public void execute(Tuple tuple) { Long ctime = tuple.getLong(0); short platform = tuple.getShort(1); double amount = tuple.getDouble(2); collector.ack(tuple); Long key = RaceUtils.getMinuteTime(ctime); //LOG.info("PAT_RATIO_RECEIVE ctime:{} platform:{} amout:{}",ctime,platform,amount); if(platform == 0){ payRatioArray.merge(new PayRatio().key(key).pcPay(amount)); }else if(platform == 1){ payRatioArray.merge(new PayRatio().key(key).wxPay(amount)); }else { LOG.info("Pay ratio unknown platform {}",platform); } updateSendTps(); }
@Override public void execute(Tuple tuple) { int from = tuple.getInteger(0); Long ctime = tuple.getLong(1); double amount = tuple.getDouble(2); collector.ack(tuple); if(from == RaceConfig.TBORDER ){ this.tbPayMap.merge(new Item().amount(amount).key(RaceUtils.getMinuteTime(ctime))); }else if (from == RaceConfig.TMORDER){ this.tmPayMap.merge(new Item().amount(amount).key(RaceUtils.getMinuteTime(ctime))); }else { LOG.info("unknown from {}",from); } updateSendTps(); }