Mutual Friends MapReduce Application

From CSE231 Wiki
Revision as of 02:46, 25 February 2020 by Cosgroved (talk | contribs) (Background)
Jump to: navigation, search


Finding mutual friends is a compelling MapReduce App and has a nice write up on the web.


Steve Krenzel Finding Friends

Code To Investigate

class Account


Code To Implement

class: Java.png
methods: map
source folder: src/main/java

method: public void map(Account account, BiConsumer<OrderedPair<AccountId>, Set<AccountId>> keyValuePairConsumer) Sequential.svg (sequential implementation only)

The only method you will need to alter is the map method. In this method, you will need to map every combination of the account holder to his/her friends. In order to do this, create ordered pairs of the given account’s ID and the IDs of the account holder’s friends. You must then feed each individual ordered pair into the keyValuePairConsumer along with the full set of the account holder’s friends.

Hint: check out the methods in the Account class for help.

class: Java.png
methods: finisher
source folder: src/main/java

method: public Function<List<Set<AccountId>>, MutualFriendIds> finisher() Sequential.svg (sequential implementation only)

Investigate MutualFriendIds for clues on what you need to do.

Testing Your Solution


class: Junit.png
source folder: src/test/java