Пример #1
0
  private void doReduce(List<Tuple2<String, Integer>> collect) {
    logger.debug("come into doReduce -->");
    Map<String, Document> cacheMap = new HashMap<String, Document>();
    for (Tuple2<String, Integer> tuple : collect) {
      if (!tuple._1().startsWith("VersionDetail")) {
        continue;
      }
      // 缓存汇总结果
      doCacheEventDetailInfo(cacheMap, tuple);
    }
    Set<String> keys = cacheMap.keySet();
    for (String keyStr : keys) {
      String key[] = keyStr.split(":");
      String tableName = key[0];
      Document versionDetailDoc = cacheMap.get(keyStr);

      // 保存汇总结果到mongoDb
      versionDetailDao.saveOrUpdate(tableName, versionDetailDoc);
    }
  }