hadoop上执行mapreduce streaming python程序报错, 报错详细信息为 python - PipeMapRed.waitOutputThreads(): subprocess failed with code 1
网上搜索后,得知该问题是由于 脚本程序本身问题。
解决办法,
1. 环境变量配置错误
详情见 http://curiousattemptbunny.com/2009/10/hadoop-streaming-javalangruntimeexcepti.html
即指定 脚本执行的环境。
2. python程序写错
如果小数据集没问题,大数据出问题,那么很可能是这个。
而我的程序如果直接对数据集进行处理(300M),是没问题的,但是放到MR上就不行了。虽然很奇怪,但加上异常捕获后MR可以执行。需要进一步跟踪处理,但解决方法类似。