Difference between revisions of "Mutual Friends MapReduce Application"

From CSE231 Wiki
Jump to: navigation, search
(Code To Investigate)
(Code To Investigate)
(No difference)

Latest revision as of 02:50, 25 February 2020


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



class AccountId


class MutualFriendIds


Code To Implement

class: MutualFriendsMapper.java Java.png
methods: map
package: mapreduce.apps.friends.studio
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: MutualFriendsClassicReducer.java Java.png
methods: finisher
package: mapreduce.apps.friends.studio
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: MutualFriendsStudioTestSuite.java Junit.png
package: mapreduce.apps.friends.studio
source folder: src/test/java