Difference between revisions of "Cholera MapReduce Application"

From CSE231 Wiki
Jump to navigation Jump to search
Line 12: Line 12:
  
 
=Code To Use=
 
=Code To Use=
[https://www.cse.wustl.edu/~cosgroved/courses/cse231/s18/apidocs/mapreduce/apps/cholera/core/Location.html class Location]
+
[https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/Location.html class Location]
: [https://www.cse.wustl.edu/~cosgroved/courses/cse231/s18/apidocs/mapreduce/apps/cholera/core/Location.html#getDistanceTo-mapreduce.apps.cholera.core.Location- double getDistanceTo( Location other )]
+
: [https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/Location.html#getDistanceTo-mapreduce.apps.cholera.core.Location- double getDistanceTo( Location other )]
  
class CholeraDeath
+
[https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/CholeraDeath.html class CholeraDeath]
: Location getLocation()
+
: [https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/CholeraDeath.html#getLocation-- Location getLocation()]
  
enum WaterPump
+
[https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/WaterPump.html enum WaterPump]
: Location getLocation()
+
: [https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/WaterPump.html#getLocation-- Location getLocation()]
  
class SohoCholeraOutbreak1854
+
[https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/SohoCholeraOutbreak1854.html class SohoCholeraOutbreak1854]
: static CholeraDeath[] getDeaths()
+
: [https://www.cse.wustl.edu/~cosgroved/courses/cse231/current/apidocs/mapreduce/apps/cholera/core/SohoCholeraOutbreak1854.html#getDeaths-- static CholeraDeath[] getDeaths()]
  
 
=Code To Implement=
 
=Code To Implement=

Revision as of 16:34, 27 February 2018

John Snow memorial and pub.jpg

Motivation

Epidemiology is the important study of "why certain people are getting ill."

We get a chance to make sense of the data in a relatively open ended studio.

Background

Imagine you are a physician in 1854 London in the midst of a cholera outbreak. Your theory that contaminated water is the cause meets resistance from the medical establishment which holds that it is spread via the air.

Imagine further that your friend Ada has left you access to computing.

Code To Use

class Location

double getDistanceTo( Location other )

class CholeraDeath

Location getLocation()

enum WaterPump

Location getLocation()

class SohoCholeraOutbreak1854

static CholeraDeath[ getDeaths()]

Code To Implement

class: CholeraApp.java Java.png
methods: getValueRepresentation
createMapper
createCollector
package: mapreduce.apps.cholera.studio
source folder: student/src/main/java

method: public static CholeraAppValueRepresentation getValueRepresentation() Sequential.svg (sequential implementation only)

method: public static Mapper<CholeraDeath, WaterPump, Number> createMapper() Sequential.svg (sequential implementation only)

method: public static Collector<? extends Number, ?, ? extends Number> createCollector() Sequential.svg (sequential implementation only)

Testing Your Solution

Visualization

Original map drawn by John Snow
class: CholeraOutbreakVisualizationApp.java VIZ
package: mapreduce.apps.cholera.viz
source folder: student/src//java

CholeraOutbreak.png

Correctness

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