Difference between revisions of "MapReduce Frameworks Lab"
Line 12: | Line 12: | ||
==Mutual Friends Application== | ==Mutual Friends Application== | ||
− | ===class MutualFriendsMapper=== | + | ===[http://www.cse.wustl.edu/~cosgroved/courses/cse231/s17/javadocs/student/solution/mapreduce/apps/friends/MutualFriendsMapper.html class MutualFriendsMapper]=== |
− | public void map(MapContext<OrderedPair<AccountId>, List<AccountId>> context, Account account) | + | [http://www.cse.wustl.edu/~cosgroved/courses/cse231/s17/javadocs/student/solution/mapreduce/apps/friends/MutualFriendsMapper.html#map-edu.wustl.cse231s.mapreduce.MapContext-edu.wustl.cse231s.mapreduce.apps.friends.Account- public void map(MapContext<OrderedPair<AccountId>, List<AccountId>> context, Account account)] |
+ | |||
===class MutualFriendsReducer=== | ===class MutualFriendsReducer=== | ||
public FinishAccumulator<List<AccountId>> createAccumulator() | public FinishAccumulator<List<AccountId>> createAccumulator() |
Revision as of 22:51, 28 February 2017
Contents
- 1 Part 1 Simple Framework
- 1.1 class StudentIndividualMapContext
- 1.2 Word Count Application
- 1.3 Mutual Friends Application
- 1.4 class WordCountConcreteStaticMapReduce (optional but encouraged)
- 1.5 class MutualFriendsConcreteStaticMapReduce (optional but encouraged)
- 1.6 SimpleMapReduceFramework<E,K,V>
- 1.7 FinishAccumulatorBasedReducer
Part 1 Simple Framework
class StudentIndividualMapContext
public void emit(K key, V value)
Word Count Application
class WordCountMapper
public void map(MapContext<String, Integer> context, String[] lineOfWords)
class WordCountReducer
public FinishAccumulator<Integer> createAccumulator()
Test
class TestWordCountApplicationWithInstructorFramework
Mutual Friends Application
class MutualFriendsMapper
public void map(MapContext<OrderedPair<AccountId>, List<AccountId>> context, Account account)
class MutualFriendsReducer
public FinishAccumulator<List<AccountId>> createAccumulator()
Test
class TestMutualFriendsApplicationWithInstructorFramework
class WordCountConcreteStaticMapReduce (optional but encouraged)
mapAll
private static IndividualMapContext<String, Integer>[] mapAll(String[][] S, WordCountMapper mapper) throws SuspendableException
groupAll
private static Map<String, List<Integer>> groupAll(IndividualMapContext<String, Integer>[] f_of_S)
reduceAll
private static Map<String, Integer> reduceAll(Map<String, List<Integer>> grouped_f_of_S, WordCountReducer reducer) throws SuspendableException
Test
class TestWordCountConcreteStaticFramework
class MutualFriendsConcreteStaticMapReduce (optional but encouraged)
mapAll
private static IndividualMapContext<OrderedPair<AccountId>, List<AccountId>>[] mapAll(Account[] S, MutualFriendsMapper mapper) throws SuspendableException
groupAll
private static Map<OrderedPair<AccountId>, List<List<AccountId>>> groupAll(IndividualMapContext<OrderedPair<AccountId>, List<AccountId>>[] f_of_S)
reduceAll
private static Map<OrderedPair<AccountId>, List<AccountId>> reduceAll(Map<OrderedPair<AccountId>, List<List<AccountId>>> grouped_f_of_S, MutualFriendsReducer reducer) throws SuspendableException
Test
class TestMutualFriendsConcreteStaticFramework
SimpleMapReduceFramework<E,K,V>
mapAll
private IndividualMapContext<K,V>[] mapAll(E[] S, Mapper<E,K,V> mapper) throws SuspendableException
groupAll
private Map<K, List<V>> groupAll(IndividualMapContext<K,V>[] f_of_S)
reduceAll
private Map<K, V> reduceAll(Map<K, List<V>> grouped_f_of_S, Reducer<V> reducer) throws SuspendableException
Test
class TestMutualFriendsSolution
FinishAccumulatorBasedReducer
reduce
default V reduce( List<V> list ) throws SuspendableException