hadoop 流streaming跑python程序

先放上命令:

hadoop jar /usr/hadoop-1.2.1/contrib/streaming/hadoop-streaming-1.2.1.jar -mapper mapper.py -file mapper.py -reduce reduce.py -file reduce.py -file params.txt -file params2.txt -input /data/* -output /output

其中output不存在才可以。

mapper.py的输出直接传给reduce.py

比如在hadoop的集群中,/data/目录下有如下几个文件:

[root@master program]# hadoop fs -ls /data/
Found 10 items
-rw-r--r--   3 root supergroup      35596 2015-06-18 16:45 /data/cars-00
-rw-r--r--   3 root supergroup      35592 2015-06-18 16:45 /data/cars-01
-rw-r--r--   3 root supergroup      35588 2015-06-18 16:45 /data/cars-02
-rw-r--r--   3 root supergroup      35584 2015-06-18 16:45 /data/cars-03
-rw-r--r--   3 root supergroup      35584 2015-06-18 16:45 /data/cars-04
-rw-r--r--   3 root supergroup      35596 2015-06-18 16:45 /data/cars-05
-rw-r--r--   3 root supergroup      35588 2015-06-18 16:45 /data/cars-06
-rw-r--r--   3 root supergroup      35586 2015-06-18 16:45 /data/cars-07
-rw-r--r--   3 root supergroup      35584 2015-06-18 16:45 /data/cars-08
-rw-r--r--   3 root supergroup      35574 2015-06-18 16:45 /data/cars-09

对于任何一个文件,如果在本地可以这样完成操作即可:

cat cars-00 | ./mapper.py | ./reduce.py

 

posted @ 2015-06-29 00:07  dorothychai  阅读(240)  评论(0编辑  收藏  举报