java - InputFormat中的Giraph聚合器

标签 java hadoop giraph

我正在用Giraph运行一些基本示例,我想验证EdgeInputFormat正在读取的数据。在经典的MapReduce作业中,我可以使用Counters做到这一点,而Giraph为此使用聚合器。 (https://giraph.apache.org/aggregators.html)

在网站上说,聚合器应在母版上注册。我编写的唯一代码是扩展BasicComputation并实现compute()方法的类。有人可以指出我应该在哪里注册它们,以及在读取数据时如何使用它们?

最佳答案

我已经知道如何去做。

我实现了一个扩展MasterCompute的类,并在initialize()方法中注册了一个持久聚合器。我使用了IntSumAggregator

之后,在EdgeInputFormat中,我可以使用aggregate("myAggregator", new IntWritable(1));
MasterCompute是使用-mc行参数设置的。

关于java - InputFormat中的Giraph聚合器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24183282/

相关文章:

java - 通过单个连接将数千个客户端连接到 Jabber 服务器

hadoop - 是否可以将 Apache Livy 配置为与 Spark Standalone 一起运行?

java - 两次调用 Vertex.get EdgeValue() 后边值不一样

mysql - 在Hadoop或MySQL中 reshape dcast表

hadoop - apache giraph:java.lang.IllegalAccessError

java - Giraph 的工作永无止境

java - SQL 结果集处理

java - 合并两个流

java - 调用 JFrame 并重新提示相同的 JFrame

java - Hadoop context.write() 输出打印带有文本对象的 NaN