我有一个简单的python脚本(moo.py),我试图通过
流import sys, os
for line in sys.stdin:
print 1;
我尝试运行这个猪脚本
DEFINE CMD `python moo.py` ship('moo.py');
data = LOAD 's3://path/to/my/data/*' AS (a:chararray, b:chararray, c:int, d:int);
res = STREAM data through CMD;
dump res;
当我运行这个猪脚本地(猪-x本地)一切都很好, 但是当我在没有-x local的情况下运行它时,会打印出这个错误
[main]错误org.apache.pig.tools.grunt.Grunt - 错误2017:创建作业配置的内部错误。
[日志文件]
引起:java.io.FileNotFoundException:文件moo.py不存在。
任何想法?
答案 0 :(得分:5)
这很可能是相对路径的问题。
尝试:
DEFINE CMD `python moo.py` ship('/local/path/to/moo.py');
它也可能是读/写/执行权限的问题。
答案 1 :(得分:0)
问题在于我使用了ship()
函数而不是cache()
而ship()
工作文件 - 将本地文件从主服务器传递给从服务器
从属使用cache()
从可访问的位置获取文件
例如亚马逊上的s3
希望能帮助任何人:]