# A MR job generates an inverted index. # Inverted index contains for each word all its occurrences, where each # occurrence is pair (article of occurrence, position of occurrence). # # rm -rf step-5-out-ex2; perl step-5-exercise2.pl /home/straka/wiki/cs-text-medium/ step-5-out-ex2 # less step-5-out-ex2/part-* package My::Mapper; use Moose; with 'Hadoop::Mapper'; sub map { my ($self, $key, $value, $context) = @_; # YOUR CODE HERE $context->write($key, 1); } package My::Reducer; use Moose; with 'Hadoop::Reducer'; sub reduce { my ($self, $key, $values, $context) = @_; # YOUR CODE HERE while ($values->next) { $context->write($key, $values->value); } } package main; use Hadoop::Runner; my $runner = Hadoop::Runner->new( mapper => My::Mapper->new(), reducer => My::Reducer->new(), input_format => 'KeyValueTextInputFormat'); $runner->run();