MapReduce-MPI WWW Site - MapReduce-MPI Documentation

### MapReduce add() method

    int MapReduce::add(MapReduce *mr2)

This calls the add() method of a MapReduce object, to add the KeyValue pairs contained in a second MapReduce object mr2, to the KeyValue object of the first MapReduce object. This is useful if multiple MapReduce objects have been created and populated with key/value pairs and you wish to combine them before performing further operations, such as a collate() and reduce().

For example, this sequence of calls:

    MapReduce *mr1 = new MapReduce(MPI_COMM_WORLD);
    mr1->map(ntasks,&mymap,NULL);
    MapReduce *mr2 = mr1->copy();
    mr2->collate();
    mr2->reduce(&myreduce2,NULL);
    mr1->add(mr2);
    delete mr2;
    mr1->reduce(&myreduce1,NULL);

would generate one set of key/value pairs from the initial map() operation, then make a copy of them, which are then collated and reduced to a new set of key/value pairs. The new set of key/value pairs are added to the original set produced by the map() operation to form an augmented set of key/value pairs, which could be further processed.

Related methods: copy, map()