MapReduce Frameworks Lab
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
- 2 Part 2 Matrix Framework
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
Part 2 Matrix Framework
class StudentGroupStageSkippingMapContext<K,V>
public void emit(K key, V value)
class MatrixMapReduceFramework<E,K,V>
private GroupStageSkippingMapContext<K, V>[] mapGroupAll(E[] S, Mapper<E, K, V> mapper) throws SuspendableException private Map<K,V> reduceAll(GroupStageSkippingMapContext<K, V>[] grouped_f_of_S, Reducer<V> reducer) throws SuspendableException