Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MapReduce

What is the MapReduce ?

MapReduce is a programming model and an associated implementation for processing and generating large data sets. Users specify a map function that processes a key/value pair to generate a set of intermediate key/value pairs, and a reduce function that merges all intermediate values associated with the same intermediate key . In my case the map and reduce functions are passed to the workers through the plugins (.so files) . The worker and master talk via rpc present in the protocol package.

More Info

  1. Anyone who found this interesting , I will highly reccommend reading the official google research paper on MapReduce here .
  2. MIT also has a good lab reduce lab here

Running my demo with the simple wc.go Everything cann be run using Make

  1. generate the plugin.so file if its not generated The plugin can be changed by writing a new plugin and changing the pluginfile in Makefile
make plugin
  1. Run the master
make master
  1. Run the worker in the other terminal instance
make worker

The input to the master is given by .*txt which is essentially providing all the .txt files in the current directory

About

A simple MapReduce Runtime written in golang

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages