Difference between revisions of "MapReduce Mapper Assignment"

From CSE231 Wiki
Jump to navigation Jump to search
Line 8: Line 8:
  
 
=Code To Implement=
 
=Code To Implement=
 +
==Card Mapper==
 
{{CodeToImplement|CardMapper|map|mapreduce.apps.intsum.cards.studio}}
 
{{CodeToImplement|CardMapper|map|mapreduce.apps.intsum.cards.studio}}
  
 
{{Sequential|public void map(Deck deck, BiConsumer<Suit, Integer> keyValuePairConsumer)}}
 
{{Sequential|public void map(Deck deck, BiConsumer<Suit, Integer> keyValuePairConsumer)}}
  
 +
==Word Count Mapper==
 
{{CodeToImplement|WordCountMapper|map|mapreduce.apps.intsum.wordcount.studio}}
 
{{CodeToImplement|WordCountMapper|map|mapreduce.apps.intsum.wordcount.studio}}
  
 
{{Sequential|public void map(TextSection textSection, BiConsumer<String, Integer> keyValuePairConsumer)}}
 
{{Sequential|public void map(TextSection textSection, BiConsumer<String, Integer> keyValuePairConsumer)}}
  
 +
==K-mer Count Mapper==
 
{{CodeToImplement|KMerMapper|map|mapreduce.apps.intsum.kmer.studio}}
 
{{CodeToImplement|KMerMapper|map|mapreduce.apps.intsum.kmer.studio}}
  
 
{{Sequential|public void map(byte[] sequence, BiConsumer<String, Integer> keyValuePairConsumer)}}
 
{{Sequential|public void map(byte[] sequence, BiConsumer<String, Integer> keyValuePairConsumer)}}
  
 +
==Int Sum Reducer==
 
{{CodeToImplement|IntegerSumClassicReducer|finisher|mapreduce.apps.intsum.studio}}
 
{{CodeToImplement|IntegerSumClassicReducer|finisher|mapreduce.apps.intsum.studio}}
  

Revision as of 17:02, 20 February 2018

Motivation

In previous semesters the MapReduce lab has proven to be the most challenging. We have split things up to allow you to get familiar with the how Mappers and Reducers work first. We will build a card mapper that matches the spec outlined in the prep video, a simple word counting mapper, an analogous k-mer counting mapper, and an integer sum reducer to wrap things up.

The k-mer counting mapper will prepare us for (and hopefully lessen the burden of) upcoming lab 6.

Background

Code To Implement

Card Mapper

class: CardMapper.java Java.png
methods: map
package: mapreduce.apps.intsum.cards.studio
source folder: student/src/main/java

method: public void map(Deck deck, BiConsumer<Suit, Integer> keyValuePairConsumer) Sequential.svg (sequential implementation only)

Word Count Mapper

class: WordCountMapper.java Java.png
methods: map
package: mapreduce.apps.intsum.wordcount.studio
source folder: student/src/main/java

method: public void map(TextSection textSection, BiConsumer<String, Integer> keyValuePairConsumer) Sequential.svg (sequential implementation only)

K-mer Count Mapper

class: KMerMapper.java Java.png
methods: map
package: mapreduce.apps.intsum.kmer.studio
source folder: student/src/main/java

method: public void map(byte[] sequence, BiConsumer<String, Integer> keyValuePairConsumer) Sequential.svg (sequential implementation only)

Int Sum Reducer

class: IntegerSumClassicReducer.java Java.png
methods: finisher
package: mapreduce.apps.intsum.studio
source folder: student/src/main/java

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

Testing Your Solution

Correctness

class: IntSumStudioTestSuite.java Junit.png
package: mapreduce
source folder: testing/src/test/java