时间有限复杂的问题简单说,什么都不如来干货~
使用
MRJob框架 时
用网上说的提交任务到集群的命令,程序会跑着挂掉。。。报143 127 的错误!!
后来才发现正确的是:
本地运行命令
python mypyfile.py -r local <input> python mypyfile.py -r local
<input> >outfilename
注意
!写路径的话只有数据的输入路径 要想同时指定输出路径可以追加到本地
还有,如果本地跑的话可能
会报: subprocess failed with code 127,code * ...
后面错误码不管是什么,都是 脚本环境的问题
在python脚本里面声明的:#!/usr/bin/env python,这里声明了位置,所以必须要放到 /usr/bin 下面,才能有效。
python 执行程序必须放到 /usr/bin 下面,在环境变量的其他位置不管用。
集群运行命令
python mypyfile.py -r hadoop<input>
python mypyfile.py -r hadoop<input> >outfilename 结果输出到本地
python mypyfile.py -r hadoop hdfs://jackie/data/qq.txt
python mypyfile.py -r hadoop -o hdfs://jackie/data/qq.txt hdfs://jackie/data/result
注意!写路径的话只有数据的输入路径 要想同时指定输出路径可以使用-o的参数 前面写输入 后面是输出路径