標籤:
先放上命令:
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/目錄下有如下幾個檔案:
[[email protected] 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
hadoop 流streaming跑python程式