WebMapReduce is a simple web-based user interface for creating and submitting Hadoop Map-Reduce jobs in practically any language. It is ideally suited for use in the introductory computer science classroom, requiring very little programming experience to write massively parallel programs.


Some of its features include:

With WebMapReduce, writing a map-reduce job can be as simple as the following example in Python:

def mapper(key, val):
  words = key.split()
  for word in words:
    Wmr.emit(word, '1')

def reducer(word, counts):
  total = 0
  for count in counts:
    total += int(count)
  Wmr.emit(word, count)

WebMapReduce is part of CS in Parallel, an NSF-supported project to help inject parallelism throughout the undergraduate computer science curriculum. There, you can find free teaching materials for many topics related to parallelism, including using WebMapReduce in introductory courses. For more information, see the Education page.