运行 EMR 上的 Pig 脚本
Running Pig Script on EMR
所以我使用以下文件作为输入:
https://svn.apache.org/repos/asf/pig/trunk/tutorial/data/excite-small.log
我现在的密码是
-- FileName: excite-small.log
log = LOAD 'excite-small.log' AS (user, timestamp, query);
grpd = GROUP log BY user;
cntd = FOREACH grpd GENERATE group, COUNT(log);
STORE cntd INTO 'output'
我 运行 使用 http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-pig-launch.html
中提到的步骤在 EMR 上完成这项工作
** 我设置了以下参数**
1. For Script Location: s3://mybucket/test.pig
2. For Input Location: s3://mybucket/excite-small.log
3. For Output Location: s3://mybucket/
4. Arguments: Blank
当我 运行 这份工作时,我得到一个错误 Input path does not exist
。我认为这与 REGISTER
有关,但我不太确定。谁能建议我做错了吗?
在您的 PIG 脚本中,完整引用输入文件,例如:
log = LOAD 's3://mybucket/excite-small.log' AS (user, timestamp, query);
或者,使用传入的 INPUT 路径:
log = LOAD '$INPUT' AS (user, timestamp, query);
在这里找到了很好的解释:
所以我使用以下文件作为输入: https://svn.apache.org/repos/asf/pig/trunk/tutorial/data/excite-small.log
我现在的密码是
-- FileName: excite-small.log
log = LOAD 'excite-small.log' AS (user, timestamp, query);
grpd = GROUP log BY user;
cntd = FOREACH grpd GENERATE group, COUNT(log);
STORE cntd INTO 'output'
我 运行 使用 http://docs.aws.amazon.com/ElasticMapReduce/latest/DeveloperGuide/emr-pig-launch.html
中提到的步骤在 EMR 上完成这项工作** 我设置了以下参数**
1. For Script Location: s3://mybucket/test.pig
2. For Input Location: s3://mybucket/excite-small.log
3. For Output Location: s3://mybucket/
4. Arguments: Blank
当我 运行 这份工作时,我得到一个错误 Input path does not exist
。我认为这与 REGISTER
有关,但我不太确定。谁能建议我做错了吗?
在您的 PIG 脚本中,完整引用输入文件,例如:
log = LOAD 's3://mybucket/excite-small.log' AS (user, timestamp, query);
或者,使用传入的 INPUT 路径:
log = LOAD '$INPUT' AS (user, timestamp, query);
在这里找到了很好的解释: