2013-04-03 28 views
0

我運行了一次hadoop作業,每次花費太多時間完成,如* 15分鐘*PipeMapRed在Hadoop流媒體中做了什麼?

我查了syslog,赫然發現,org.apache.hadoop.streaming.PipeMapRed在做一些有關10分鐘,並PipeMapRed後完成,MapTask接管並完成在不到1分鐘,到底是什麼?

PipeMapRed究竟做了什麼?爲什麼這麼耗時?

下面是一些日誌由PipeMapRed印刷:

17:00:57,307 INFO org.apache.hadoop.streaming.PipeMapRed: Records R/W=1633/1 
17:00:59,782 INFO org.apache.hadoop.streaming.PipeMapRed: R/W/S=10000/8763/0 in:5000=10000/2 [rec/s] out:4381=8763/2 [rec/s] 
17:01:07,310 INFO org.apache.hadoop.streaming.PipeMapRed: Records R/W=60670/59051 
17:01:12,610 INFO org.apache.hadoop.streaming.PipeMapRed: R/W/S=100000/97904/0 in:6666=100000/15 [rec/s] out:6526=97904/15 [rec/s] 
17:01:17,332 INFO org.apache.hadoop.streaming.PipeMapRed: Records R/W=126104/124334 
17:01:27,378 INFO org.apache.hadoop.streaming.PipeMapRed: Records R/W=181681/179714 
17:01:30,514 INFO org.apache.hadoop.streaming.PipeMapRed: R/W/S=200000/198233/0 in:6060=200000/33 [rec/s] out:6007=198233/33 [rec/s] 
17:01:37,404 INFO org.apache.hadoop.streaming.PipeMapRed: Records R/W=244642/242654 

回答

3

您所提供的日誌是從mapreduce的流日誌,你可以看到有多少記錄被讀取和寫入,例如:

R/W/S=10000/8763/0 in:5000=10000/2 [rec/s] out:4381=8763/2 [rec/s] 

第一部分代表有多少條記錄:

READ/WRITE/SKIPPED=10000/8763/0 

第二個pa RT是關於如何快,你處理的記錄,所以你讀5000條記錄/秒,寫入4381個記錄每

15分鐘/秒(流)MapReduce工作完全正常,如果不小:)