perl实现map-reduce框架实例-wordcount
来源:互联网 发布:api原油数据分析 编辑:程序博客网 时间:2024/06/06 14:02
近期学习hadoop,利用脚本语言perl实现map-reduce框架数据流编程,实现经典实例 wordcount,代码核心在于mapreduce的shuffle环节,将map的输出按照key进行归桶,所以相同的单词必定在同一个桶中,且按序排好,代码如下:
[abc@build12 ~/perl/wordcount/WordCountPerl_test]$ cat wordcount_mapper.pl
#!/usr/bin/perl
while(my $line=<STDIN>) {
chomp($line);
my @word_array = split(/ /, $line);
$len = 0;
#print $#word_array."\n";
while($len <= $#word_array) {
print $word_array[$len]."\t1\n";
#print $word_array[len];
$len = $len + 1;
}
}
[abc@build12 ~/perl/wordcount/WordCountPerl_test]$ cat wordcount_reducer.pl
#!/usr/bin/perl
$old = "\001";
$sum = 0;
while($line = <STDIN>) {
chomp($line); #chomp()函数去除末尾换行符
@data = split(/\t/, $line);
if($#data != 1) {next;}
if($data[0] ne $old) {
if($old ne "\001") {
print $old."==>".$sum."\n";
}
$sum = 0;
$old = $data[0];
}
$sum = $sum + $data[1];
}
#输出最后一个值
if($old ne "\001") {
print $old."==>".$sum."\n";
}
- perl实现map-reduce框架实例-wordcount
- 新建一个map/Reduce工程实例WordCount
- Map-Reduce下使用Streaming实现 WordCount
- WordCount-Map/Reduce示例
- 使用SAS实现HADOOP Map/Reduce程序-wordcount
- Hadoop中map/reduce之WordCount实例——分解vs汇总
- Hadoop的Map-Reduce例子 WordCount
- map/reduce 框架
- Hadoop Map/Reduce框架
- Map Reduce处理框架
- 实例讲解hadoop中的map/reduce查询(python语言实现)
- 实例讲解hadoop中的map/reduce查询(python语言实现)
- WordCount------自己写的第一个map/reduce程序------
- Hadoop 2.6 以WordCount为例理解Map Reduce
- map/reduce的简单实现
- java实现map-reduce代码
- 实例讲解Hadoop Map-Reduce过程
- WordCount Reduce数目更改
- HDU 3549 Flow Problem(最大流裸题,EK解法)
- UICollectionViewController使用问题之UICollectionViewFlowLayout
- LeetCode:Search a 2D Matrix (在元素递增的矩阵中搜寻特定元素)
- EF应用带来的好处
- java csvreader上传csv乱码问题
- perl实现map-reduce框架实例-wordcount
- DNS缓存的机制及如何应对造成的各种问题
- typeof array.concat() JSON.stringify JSON.parse
- Ubuntu 12.04 中自定义DNS服务器设置
- HDU 1728 逃离迷宫 DFS+标记转弯数+优化
- yocto之yocto概述
- jetty的使用入门和使用注意事项
- C++中typename和class的区别
- Android广播机制分析