Dear Wiki user, You have subscribed to a wiki page or wiki category on "Hama Wiki" for change notification.
The "Aggregators" page has been changed by AnastasisAndronidis: https://wiki.apache.org/hama/Aggregators?action=diff&rev1=3&rev2=4 == Aggregators == - === Description === + === Introduction === Quoting from Pregel paper: ''aggregators are a mechanism for global communication, monitoring, and data. Each vertex can provide a value to an aggregator in superstep S, the system combines those values using a reduction operator, and the resulting value is made available to all vertices in superstep S + 1.'' You can think aggregators as a tree, that the leafs (which are the graph vertices) are sending messages to the root (the master aggregator), and then the root is combining all these messages to a value. In the end, this combined values is distributed back to the leafs. Aggregators are useful for statistics (think of an histogram of vertex degrees) or for global controlling. - === Introduction === + === Registering aggregators === + To start using aggregators, you must register them in your GraphJob. + e.g. + {{{ + HamaConfiguration conf = new HamaConfiguration(new Configuration()); + GraphJob graphJob = new GraphJob(conf, MyClass.class); + + // To add an average aggregator + graphJob.setAggregatorClass(AverageAggregator.class); + + // To add a sum aggregator + graphJob.setAggregatorClass(SumAggregator.class); + }}} + + There are lots of different aggregators and you can also make your own. Look for already implemented aggregators in org.apache.hama.graph package. +
