2012-06-10 30 views
3

用Python脚本报告Hadoop流中异常的最佳做法是什么?Hadoop流:报告错误

我的意思是:假设我有一个无法理解其输入的映射器脚本,我如何指示Hadoop终止作业&报告错误消息?

我使用logging并完成sys.exit

回答

4

如果你想表示错误,从你的python脚本返回一个非零的代码。您可以将任何日志记录写入stderr,hadoop将在任务日志中捕获该日志。您还可以通过在stderr前加reporter:status:<msg>reporter:counter:<group>,<name>,<increment>reporter:counter:<group>,<name>,<increment>

+0

将状态发送给记者和计数器。如果程序以未处理的异常终止,则Python会返回1,因此您可以引发异常或调用sys.exit(1)。 – hamish