2

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

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

并且运行脚本失败。这是我的 7 行脚本。它只是计算 Google bigrams 元组的平均值。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、反斜杠等。但总是遇到同样的错误。任何帮助将不胜感激。

4

1 回答 1

1

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

例如

s3://<<bucket-name>>/gb­bigrams/*
s3://<bucket-name>/output/bigram/20130409/answer1
于 2013-04-13T14:51:13.460 回答