在 mapreduce streaming 程序中向标准错误输出日志语句是一个很好的习惯. 输出到标准错误的信息将以报告形式输出.
这样可以在网页中查看job运行过程中的中间信息.
并且 mapreduce 程序默认在一段时间中没有任何输出(stdout, stderr) 时会将 job kill, 这可以避免此类问题.
例如: python 中的 print >>sys.stderr, e
详见我的有道笔记: http://note.youdao.com/share/?id=3c44ec58243d10f77072f38d7d1db64b&type=note