| Hadoop-Streaming documentation | Contained in the Hadoop-Streaming distribution. |
Hadoop::Streaming::Role::Emitter - Role to provide emit, counter, and status interaction with Hadoop::Streaming.
version 0.110030
$object->emit( $key, $value )
This method emits a key,value pair in the format expected by Hadoop::Streaming. It does this by calling $self->put(). This catches errors from put and turns them into warnings.
$object->put( $key, $value )
This method emits a key,value pair to STDOUT in the format expected by Hadoop::Streaming: ( key \t value \n )
$object->counter(
group => $group,
counter => $countername,
amount => $count,
);
This method emits a counter key to STDERR in the format expected by hadoop: reporter:counter:<group>,<counter>,<amount>
$object->status( $message )
This method emits a status message to STDERR in the format expected by Hadoop::Streaming: reporter:status:$message\n
This software is copyright (c) 2011 by Naoya Ito <naoya@hatena.ne.jp>.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
| Hadoop-Streaming documentation | Contained in the Hadoop-Streaming distribution. |
package Hadoop::Streaming::Role::Emitter; BEGIN { $Hadoop::Streaming::Role::Emitter::VERSION = '0.110030'; } use Moose::Role; use Params::Validate qw/validate_pos/; #provides qw(run emit counter status); # ABSTRACT: Role to provide emit, counter, and status interaction with Hadoop::Streaming. sub emit { my ($self, $key, $value) = @_; eval { $self->put($key, $value); }; if ($@) { warn $@; } } sub put { my ($self, $key, $value) = validate_pos(@_, 1, 1, 1); printf "%s\t%s\n", $key, $value; } sub counter { my ( $self, %opts ) = @_; my $group = $opts{group} || 'group'; my $counter = $opts{counter} || 'counter'; my $amount = $opts{amount} || 'amount'; my $msg = sprintf( "reporter:counter:%s,%s,%s\n", $group, $counter, $amount ); print STDERR $msg; } sub status { my ($self, $message ) = @_; my $msg = sprintf( "reporter:status:%s\n", $message); print STDERR $msg; } 1; __END__