• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java Aggregator类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.giraph.aggregators.Aggregator的典型用法代码示例。如果您正苦于以下问题:Java Aggregator类的具体用法?Java Aggregator怎么用?Java Aggregator使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



Aggregator类属于org.apache.giraph.aggregators包,在下文中一共展示了Aggregator类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: getMyAggregatorValuesWhenReady

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * This function will wait until all partial aggregated values from all
 * workers are ready and aggregated, and return final aggregated values
 * afterwards.
 *
 * @param workerIds All workers in the job apart from the current one
 * @return Iterable through final aggregated values which this worker owns
 */
public Iterable<Map.Entry<String, Writable>>
getMyAggregatorValuesWhenReady(Set<Integer> workerIds) {
  workersBarrier.waitForRequiredPermits(workerIds);
  if (LOG.isDebugEnabled()) {
    LOG.debug("getMyAggregatorValuesWhenReady: Values ready");
  }
  return Iterables.transform(myAggregatorMap.entrySet(),
      new Function<Map.Entry<String, Aggregator<Writable>>,
          Map.Entry<String, Writable>>() {
        @Override
        public Map.Entry<String, Writable> apply(
            Map.Entry<String, Aggregator<Writable>> aggregator) {
          return new AbstractMap.SimpleEntry<String, Writable>(
              aggregator.getKey(),
              aggregator.getValue().getAggregatedValue());
        }
      });
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:27,代码来源:OwnerAggregatorServerData.java


示例2: fillNextSuperstepMapsWhenReady

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * This function will wait until all aggregator requests from workers have
 * arrived, and fill the maps for next superstep when ready.
 *
 * @param workerIds All workers in the job apart from the current one
 * @param previousAggregatedValuesMap Map of values from previous
 *                                    superstep to fill out
 * @param currentAggregatorMap Map of aggregators for current superstep to
 *                             fill out. All aggregators in this map will
 *                             be set to initial value.
 */
public void fillNextSuperstepMapsWhenReady(
    Set<Integer> workerIds,
    Map<String, Writable> previousAggregatedValuesMap,
    Map<String, Aggregator<Writable>> currentAggregatorMap) {
  workersBarrier.waitForRequiredPermits(workerIds);
  if (LOG.isDebugEnabled()) {
    LOG.debug("fillNextSuperstepMapsWhenReady: Aggregators ready");
  }
  previousAggregatedValuesMap.clear();
  previousAggregatedValuesMap.putAll(aggregatedValuesMap);
  for (Map.Entry<String, Class<Aggregator<Writable>>> entry :
      aggregatorClassMap.entrySet()) {
    Aggregator<Writable> aggregator =
        currentAggregatorMap.get(entry.getKey());
    if (aggregator == null) {
      currentAggregatorMap.put(entry.getKey(),
          AggregatorUtils.newAggregatorInstance(entry.getValue(), conf));
    } else {
      aggregator.reset();
    }
  }
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:34,代码来源:AllAggregatorServerData.java


示例3: sendAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public void sendAggregator(String aggregatorName,
    Class<? extends Aggregator> aggregatorClass,
    Writable aggregatedValue) throws IOException {
  WorkerInfo owner =
      AggregatorUtils.getOwner(aggregatorName, service.getWorkerInfoList());
  int currentSize = sendAggregatorCache.addAggregator(owner.getTaskId(),
      aggregatorName, aggregatorClass, aggregatedValue);
  if (currentSize >= maxBytesPerAggregatorRequest) {
    flushAggregatorsToWorker(owner);
  }
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:13,代码来源:NettyMasterClient.java


示例4: registerAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * Register an aggregator which current worker owns. Thread-safe.
 *
 * @param name Name of aggregator
 * @param aggregatorClass Aggregator class
 */
public void registerAggregator(String name,
    Class<Aggregator<Writable>> aggregatorClass) {
  if (LOG.isDebugEnabled() && myAggregatorMap.isEmpty()) {
    LOG.debug("registerAggregator: The first registration after a reset()");
  }
  myAggregatorMap.putIfAbsent(name,
      AggregatorUtils.newAggregatorInstance(aggregatorClass, conf));
  progressable.progress();
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:16,代码来源:OwnerAggregatorServerData.java


示例5: getAggregatorClass

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * Get aggregator class from class name, catch all exceptions.
 *
 * @param aggregatorClassName Class nam of aggregator class
 * @return Aggregator class
 */
public static Class<Aggregator<Writable>> getAggregatorClass(String
    aggregatorClassName) {
  try {
    return (Class<Aggregator<Writable>>) Class.forName(aggregatorClassName);
  } catch (ClassNotFoundException e) {
    throw new IllegalStateException("getAggregatorClass: " +
        "ClassNotFoundException for aggregator class " + aggregatorClassName,
        e);
  }
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:17,代码来源:AggregatorUtils.java


示例6: addAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * Add aggregator to the cache
 *
 * @param taskId Task id of worker which owns the aggregator
 * @param aggregatorName Name of the aggregator
 * @param aggregatorClass Class of the aggregator
 * @param aggregatedValue Value of the aggregator
 * @return Number of bytes in serialized data for this worker
 * @throws IOException
 */
public int addAggregator(Integer taskId, String aggregatorName,
    Class<? extends Aggregator> aggregatorClass,
    Writable aggregatedValue) throws IOException {
  AggregatorOutputStream out = aggregatorMap.get(taskId);
  if (out == null) {
    out = new AggregatorOutputStream();
    aggregatorMap.put(taskId, out);
  }
  return out.addAggregator(aggregatorName, aggregatorClass,
      aggregatedValue);
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:22,代码来源:SendAggregatorCache.java


示例7: addAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * Write aggregator to the stream and increment internal counter
 *
 * @param aggregatorName Name of the aggregator
 * @param aggregatorClass Class of aggregator
 * @param aggregatedValue Value of aggregator
 * @return Number of bytes occupied by the stream
 * @throws IOException
 */
public int addAggregator(String aggregatorName,
    Class<? extends Aggregator> aggregatorClass,
    Writable aggregatedValue) throws IOException {
  incrementCounter();
  dataOutput.writeUTF(aggregatorName);
  dataOutput.writeUTF(aggregatorClass.getName());
  aggregatedValue.write(dataOutput);
  return getSize();
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:19,代码来源:AggregatorOutputStream.java


示例8: registerAggregatorClass

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * Register the class of the aggregator, received by master or worker.
 *
 * @param name            Aggregator name
 * @param aggregatorClass Class of the aggregator
 */
public void registerAggregatorClass(String name,
    Class<Aggregator<Writable>> aggregatorClass) {
  aggregatorClassMap.put(name, aggregatorClass);
  if (!aggregatorTypesMap.containsKey(aggregatorClass)) {
    aggregatorTypesMap.putIfAbsent(aggregatorClass,
        AggregatorUtils.newAggregatorInstance(aggregatorClass, conf));
  }
  progressable.progress();
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:16,代码来源:AllAggregatorServerData.java


示例9: doRequest

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public void doRequest(ServerData serverData) {
  DataInput input = getDataInput();
  AllAggregatorServerData aggregatorData = serverData.getAllAggregatorData();
  try {
    int numAggregators = input.readInt();
    for (int i = 0; i < numAggregators; i++) {
      String aggregatorName = input.readUTF();
      String aggregatorClassName = input.readUTF();
      if (aggregatorName.equals(AggregatorUtils.SPECIAL_COUNT_AGGREGATOR)) {
        LongWritable count = new LongWritable(0);
        count.readFields(input);
        aggregatorData.receivedRequestCountFromMaster(count.get(),
            getSenderTaskId());
      } else {
        Class<Aggregator<Writable>> aggregatorClass =
            AggregatorUtils.getAggregatorClass(aggregatorClassName);
        aggregatorData.registerAggregatorClass(aggregatorName,
            aggregatorClass);
        Writable aggregatorValue =
            aggregatorData.createAggregatorInitialValue(aggregatorName);
        aggregatorValue.readFields(input);
        aggregatorData.setAggregatorValue(aggregatorName, aggregatorValue);
        serverData.getOwnerAggregatorData().registerAggregator(
            aggregatorName, aggregatorClass);
      }
    }
  } catch (IOException e) {
    throw new IllegalStateException("doRequest: " +
        "IOException occurred while processing request", e);
  }
  aggregatorData.receivedRequestFromMaster(getData());
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:34,代码来源:SendAggregatorsToOwnerRequest.java


示例10: doRequest

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public void doRequest(ServerData serverData) {
  DataInput input = getDataInput();
  AllAggregatorServerData aggregatorData = serverData.getAllAggregatorData();
  try {
    int numAggregators = input.readInt();
    for (int i = 0; i < numAggregators; i++) {
      String aggregatorName = input.readUTF();
      String aggregatorClassName = input.readUTF();
      if (aggregatorName.equals(AggregatorUtils.SPECIAL_COUNT_AGGREGATOR)) {
        LongWritable count = new LongWritable(0);
        count.readFields(input);
        aggregatorData.receivedRequestCountFromWorker(count.get(),
            getSenderTaskId());
      } else {
        Class<Aggregator<Writable>> aggregatorClass =
            AggregatorUtils.getAggregatorClass(aggregatorClassName);
        aggregatorData.registerAggregatorClass(aggregatorName,
            aggregatorClass);
        Writable aggregatorValue =
            aggregatorData.createAggregatorInitialValue(aggregatorName);
        aggregatorValue.readFields(input);
        aggregatorData.setAggregatorValue(aggregatorName, aggregatorValue);
      }
    }
  } catch (IOException e) {
    throw new IllegalStateException("doRequest: " +
        "IOException occurred while processing request", e);
  }
  aggregatorData.receivedRequestFromWorker();
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:32,代码来源:SendAggregatorsToWorkerRequest.java


示例11: registerPersistentAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public final <A extends Writable> boolean registerPersistentAggregator(
    String name,
    Class<? extends Aggregator<A>> aggregatorClass) throws
    InstantiationException, IllegalAccessException {
  return masterAggregatorUsage.registerPersistentAggregator(
      name, aggregatorClass);
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:9,代码来源:MasterCompute.java


示例12: registerAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public <A extends Writable> boolean registerAggregator(String name,
    Class<? extends Aggregator<A>> aggregatorClass) throws
    InstantiationException, IllegalAccessException {
  checkAggregatorName(name);
  return registerAggregator(name, aggregatorClass, false) != null;
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:8,代码来源:MasterAggregatorHandler.java


示例13: registerPersistentAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public <A extends Writable> boolean registerPersistentAggregator(String name,
    Class<? extends Aggregator<A>> aggregatorClass) throws
    InstantiationException, IllegalAccessException {
  checkAggregatorName(name);
  return registerAggregator(name, aggregatorClass, true) != null;
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:8,代码来源:MasterAggregatorHandler.java


示例14: if

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * Helper function for registering aggregators.
 *
 * @param name            Name of the aggregator
 * @param aggregatorClass Class of the aggregator
 * @param persistent      Whether aggregator is persistent or not
 * @param <A>             Aggregated value type
 * @return Newly registered aggregator or aggregator which was previously
 *         created with selected name, if any
 */
private <A extends Writable> AggregatorWrapper<A> registerAggregator
(String name, Class<? extends Aggregator<A>> aggregatorClass,
    boolean persistent) throws InstantiationException,
    IllegalAccessException {
  AggregatorWrapper<A> aggregatorWrapper =
      (AggregatorWrapper<A>) aggregatorMap.get(name);
  if (aggregatorWrapper == null) {
    aggregatorWrapper =
        new AggregatorWrapper<A>(aggregatorClass, persistent, conf);
    aggregatorMap.put(name, (AggregatorWrapper<Writable>) aggregatorWrapper);
  }
  return aggregatorWrapper;
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:24,代码来源:MasterAggregatorHandler.java


示例15: aggregate

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public <A extends Writable> void aggregate(String name, A value) {
  Aggregator<Writable> aggregator = currentAggregatorMap.get(name);
  if (aggregator != null) {
    progressable.progress();
    synchronized (aggregator) {
      aggregator.aggregate(value);
    }
  } else {
    throw new IllegalStateException("aggregate: " +
        AggregatorUtils.getUnregisteredAggregatorMessage(name,
            currentAggregatorMap.size() != 0, conf));
  }
}
 
开发者ID:zfighter,项目名称:giraph-research,代码行数:15,代码来源:WorkerAggregatorHandler.java


示例16: ThreadLocalWorkerAggregatorUsage

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
/**
 * Constructor
 *
 * Creates new instances of all aggregators from
 * {@link WorkerAggregatorHandler}
 */
public ThreadLocalWorkerAggregatorUsage() {
  threadAggregatorMap = Maps.newHashMapWithExpectedSize(
      WorkerAggregatorHandler.this.currentAggregatorMap.size());
  for (Map.Entry<String, Aggregator<Writable>> entry :
      WorkerAggregatorHandler.this.currentAggregatorMap.entrySet()) {
    threadAggregatorMap.put(entry.getKey(),
        AggregatorUtils.newAggregatorInstance(
            (Class<Aggregator<Writable>>) entry.getValue().getClass(),
            conf));
  }
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:18,代码来源:WorkerAggregatorHandler.java


示例17: aggregate

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public <A extends Writable> void aggregate(String name, A value) {
  Aggregator<Writable> aggregator = threadAggregatorMap.get(name);
  if (aggregator != null) {
    progressable.progress();
    aggregator.aggregate(value);
  } else {
    throw new IllegalStateException("aggregate: " +
        AggregatorUtils.getUnregisteredAggregatorMessage(name,
            threadAggregatorMap.size() != 0, conf));
  }
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:13,代码来源:WorkerAggregatorHandler.java


示例18: finishThreadComputation

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public void finishThreadComputation() {
  // Aggregate the values this thread's vertices provided back to
  // WorkerAggregatorHandler
  for (Map.Entry<String, Aggregator<Writable>> entry :
      threadAggregatorMap.entrySet()) {
    WorkerAggregatorHandler.this.aggregate(entry.getKey(),
        entry.getValue().getAggregatedValue());
  }
}
 
开发者ID:renato2099,项目名称:giraph-gora,代码行数:11,代码来源:WorkerAggregatorHandler.java


示例19: registerAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public final <A extends Writable> boolean registerAggregator(
  String name, Class<? extends Aggregator<A>> aggregatorClass)
  throws InstantiationException, IllegalAccessException {
  return getGraphState().getGraphTaskManager().getMasterAggregatorUsage().
      registerAggregator(name, aggregatorClass);
}
 
开发者ID:zfighter,项目名称:giraph-research,代码行数:8,代码来源:MasterCompute.java


示例20: registerPersistentAggregator

import org.apache.giraph.aggregators.Aggregator; //导入依赖的package包/类
@Override
public final <A extends Writable> boolean registerPersistentAggregator(
    String name,
    Class<? extends Aggregator<A>> aggregatorClass) throws
    InstantiationException, IllegalAccessException {
  return getGraphState().getGraphTaskManager().getMasterAggregatorUsage().
      registerPersistentAggregator(name, aggregatorClass);
}
 
开发者ID:zfighter,项目名称:giraph-research,代码行数:9,代码来源:MasterCompute.java



注:本文中的org.apache.giraph.aggregators.Aggregator类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java AbstractProjectViewPSIPane类代码示例发布时间:2022-05-22
下一篇:
Java SOAPFaultDetail类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap