0
我正在嘗試編寫一個在僞分佈式集羣上執行Hadoop MapReduce作業的shell腳本,但省略了所有不以!爲前綴的輸出。我嘗試將輸出管道輸出爲awk並以這種方式進行過濾,這對大部分輸出都有效,但我仍然從JobClient輸出到終端。有沒有辦法來防止這種情況?阻止Hadoop將JobClient輸出發送到命令行?
我的代碼目前看起來是這樣的:
#!/bin/sh
runtimes=$1
for i in {0..$runtimes}
do
cd ~/Documents/hadoop-1.0.3
bin/hadoop dfs -rmr /SC_out | awk "{}"
bin/hadoop jar ../MapReduceTests/SyntaxCounter.jar mrt.SyntaxCounter /WC_in/ /SC_out/ | awk "{}"
bin/hadoop dfs -cat /SC_out/part* | awk "\$0~/!Map/ {print \$0}"
done
編輯:這是我期待抑制的輸出類型:
12/08/15 16:45:17 INFO mapred.JobClient: Running job: job_201208151042_0128
12/08/15 16:45:18 INFO mapred.JobClient: map 0% reduce 0%
12/08/15 16:45:31 INFO mapred.JobClient: map 100% reduce 0%
12/08/15 16:45:43 INFO mapred.JobClient: map 100% reduce 100%
工作,謝謝! – HypnoticSheep 2012-08-16 19:01:32