public void updateWith(Rankings other) { for (Rankable r : other.getRankings()) { updateWith(r); } }
public void updateWith(Rankings other) { for (Rankable r : other.getRankings()) { updateWith(r); } }
public void updateWith(Rankings other) { for (Rankable r : other.getRankings()) { updateWith(r); } }
@Override public void execute(Tuple input, BasicOutputCollector basicOutputCollector) { Rankings rankings = (Rankings) input.getValueByField("rankings"); /** * TODO:此处2个步骤的操作应该合并成一个lua操作,不过考虑到更新频率低,并且设置了globalGrouping,已经不存在并发状况了 */ hashOperations.getOperations().delete(WORD_COUNT_TOP_N_REAL_TIME_KEY); rankings.getRankings().forEach(rankable -> { String word = (String) rankable.getObject(); long count = rankable.getCount(); hashOperations.put(WORD_COUNT_TOP_N_REAL_TIME_KEY, word, count); }); }