App::Hachero::Plugin::OutputLine::HadoopMap - outputs results with hadoop format


App-Hachero documentation Contained in the App-Hachero distribution.

Index


Code Index:

NAME

Top

App::Hachero::Plugin::OutputLine::HadoopMap - outputs results with hadoop format

SYNOPSYS

Top

  ---
  plugins:
    - module: OutputLine::HadoopMap

DESCRIPTION

Top

outputs results with hadoop format

implemented hooks

* output_line

AUTHOR

Top

Nobuo Danjou <nobuo.danjou@gmail.com>

SEE ALSO

Top

App::Hachero

http://hadoop.apache.org


App-Hachero documentation Contained in the App-Hachero distribution.

package App::Hachero::Plugin::OutputLine::HadoopMap;
use strict;
use warnings;
use base qw(App::Hachero::Plugin::Base);
use Data::Dumper;
use UNIVERSAL::require;

sub output_line : Hook {
    my ($self, $context) = @_;
    my $fh = \*STDOUT;
    local $Data::Dumper::Indent = 0;
    local $Data::Dumper::Terse = 0;
    for my $prime_key (keys %{$context->result}) {
        my $result = $context->result->{$prime_key};
        my $package = ref $result;
        $package->require;
        for my $second_key (keys %{$result->data}) {
            my $data = $result->data->{$second_key};
            my $value = $package->new;
            $value->push($data->hashref);
            printf $fh "%s-%s\t%s\n", $prime_key, $second_key, Dumper $value;
        }
    }
    $context->result( {} );
}

1;
__END__