在使用streaming模式来运行自己编写的python mapreduce程序时,如果python脚本中包含有第三方的库,则会发现mr任务会运行失败,查看日志时通常会发现错误发生在程序无法找和import这个第三方库。此时需要在执行mr任务的命令行中进行一下小的调整,才可以解决问题。
如果python的第三方库安装路径为/usr/lib/python2.6/site-packages,则可以加入以下参数:
-cmdenv PYTHONPATH=$PYTHONPATH:/usr/lib/python2.6/site-packages
此时mapreduce任务运行的时候会加入这个环境变量,在指定的位置找到第三方库,保证mr的正常运行。