无法解决ERROR 2017:运行PIG时在EMR上创建作业配置的内部错误

时间:2013-04-11 06:30:49

标签: amazon-s3 apache-pig amazon-emr emr

我一直在尝试使用Amazon EMR上的Pig执行一项非常简单的任务。当我在交互式shell中运行命令时,一切正常。但是当我运行与批处理作业相同的东西时,我得到了

  

[main] ERROR org.apache.pig.tools.grunt.Grunt - 2017年的错误:内部   创建作业配置时出错。

并且运行脚本失败。 这是我的7行脚本。它只是计算谷歌双字母元组的平均值。 mc是匹配计数,vc是体积计数。

bigrams = LOAD 's3n://<<bucket-name>>/gb­bigrams/*' AS (bigram:chararray, year:int, mc:int, vc:int);
grouped_bigrams = group bigrams by bigram;
answer1 = foreach grouped_bigrams generate group, ((DOUBLE) SUM(bigrams.mc))/COUNT(bigrams) AS avg_mc;
sort_answer1 = ORDER answer1 BY avg_mc desc;
answer2 = LIMIT sort_answer1 5;
STORE answer1 INTO 's3n://<bucket-name>/output/bigram/20130409/answer1';
STORE answer2 INTO 's3n://<bucket-name>/output/bigram/20130409/answer2';

我猜这个错误与STORE和s3路径有关。所以我尝试了各种组合,比如使用$ OUTPUT,反斜杠等。但是继续得到同样的错误。 任何帮助都将受到高度赞赏。

1 个答案:

答案 0 :(得分:1)

您是否尝试过使用S3 Block File System而不是本机文件系统?

e.g。

s3://<<bucket-name>>/gb­bigrams/*
s3://<bucket-name>/output/bigram/20130409/answer1