[ Skip to the content ]

Institute of Formal and Applied Linguistics Wiki


[ Back to the navigation ]

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
courses:mapreduce-tutorial:perl-api [2012/01/23 21:20]
straka
courses:mapreduce-tutorial:perl-api [2012/01/23 21:33]
straka
Line 39: Line 39:
 requires 'map'; requires 'map';
  
-sub setup() { 1; +sub setup() {} 
-sub cleanup { 1;}+sub cleanup {}
 </code> </code>
   * ''sub map($self, $key, $value, $context)'' -- executed for every (key, value) input pair. The variable '$content' has following methods:   * ''sub map($self, $key, $value, $context)'' -- executed for every (key, value) input pair. The variable '$content' has following methods:
Line 56: Line 56:
 requires 'reduce'; requires 'reduce';
  
-sub setup() { 1; +sub setup() {} 
-sub cleanup { 1;}+sub cleanup {}
 </code> </code>
-  * ''sub reduce($self, $key, $values, $context)'' -- executed for every (keyvalues) input data+  * ''sub reduce($self, $key, $values, $context)'' -- executed for every ''$key''. The ''$values'' is an iterator with the following methods: 
-    * fsa +    * ''$values%%->%%value()'' -- returns the current value, undef if there is any
-    The variable '$content' has following methods:+    * ''$values%%->%%next()'' -- advance to next value. Returns true if there is any, false otherwise. 
 +    * At the beginning there is no current value, the first value should be obtained by calling 'next'
 +  * ''sub reduce($self, $key, $values, $context)'' -- the variable ''$content'' has following methods:
     * ''$content%%->%%write($key, $value)'' -- output the (''$key'', ''$value'') pair     * ''$content%%->%%write($key, $value)'' -- output the (''$key'', ''$value'') pair
     * ''$content%%->%%counter($group, $name, $increment)'' -- increases the counter ''$name'' in the group ''$group'' by ''$increment''     * ''$content%%->%%counter($group, $name, $increment)'' -- increases the counter ''$name'' in the group ''$group'' by ''$increment''
-  * ''sub setup($self, $context)'' -- executed once before any input (key, values) pairs are processed. The ''$context'' can be used to both produce (key, value) pairs and increment counters. +  * ''sub setup($self, $context)'' -- executed once before any input keys are processed. The ''$context'' can be used to both produce (key, value) pairs and increment counters. 
-  * ''sub cleanup($self, $context)'' -- executed once after all input (key, values) pairs are processed. The ''$context'' can be used to both produce (key, value) pairs and increment counters.+  * ''sub cleanup($self, $context)'' -- executed once after all input keys are processed. The ''$context'' can be used to both produce (key, value) pairs and increment counters. 
 + 
 +===== Hadoop::Partitioner ===== 
 + 
 +<code perl> 
 +package Hadoop::Partitioner; 
 +use Moose::Role; 
 + 
 +requires 'getPartition'; 
 + 
 +sub setup {} 
 +sub cleanup {} 
 + 
 +</code> 
 +  * ''sub getPartition($self, $key, $value, $partitions)'' -- executed for every (key, value) input pair. It must return a number in the range 0..$partitions-1,  
 +  * ''sub setup($self)'' -- executed once before any input (key, value) pairs are processed. 
 +  * ''sub cleanup($self)'' -- executed once after all input (key, value) pairs are processed.  

[ Back to the navigation ] [ Back to the content ]