将hadoop流与perl一起用于map reduce

ylamdve6  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(298)

我想使用hadoop流功能和perl脚本作为Map器和缩减器。我发现这个解释部分地回答了我的问题,但是它不包含reducer处理每个键的所有值的功能。
例如,Map器可能会提取对,而reducer将输出每个产品的类别列表。当然,这可以通过将所有reducer数据保存在内存中来实现(就像我前面提到的示例一样),但在许多情况下,这是不可伸缩的。有没有一种方法可以让perl脚本一次获得每个键的所有值(就像普通的map reduce作业一样)?

yv5phkfx

yv5phkfx1#

您可以使用cpan库hadoop::streaming

sub reduce 
{ 
    my ( $self, $key, $value_iterator) = @_;
    ...
    while( $value_iterator->has_next() ) { ... }
    $self->emit( $key, $composite_value );
}

相关问题