0

我正在尝试按照本教程使用 Pig 分析 Apache 访问日志文件:http: //venkatarun-n.blogspot.com/2013/01/analyzing-apache-logs-with-pig.html

我被这个猪脚本困住了:

grpd = GROUP logs BY DayExtractor(dt) as day;

当我在 grunt 终端中执行该操作时,出现以下错误:

错误 1200:不匹配的输入 'as' 需要 SEMI_COLON 无法解析:不匹配的输入 'as' 需要 SEMI_COLON

函数 DayExtractor 以这种方式从 piggybank.jar 定义:

DEFINE DayExtractor   
org.apache.pig.piggybank.evaluation.util.apachelogparser.DateExtractor('yyyy-MM-dd');

任何人的想法?我一直在寻找一段时间。任何帮助将不胜感激。

4

1 回答 1

0

我不确定博客文章的作者是如何让它工作的,但据我所知,你不能asGROUP BY猪中使用。另外,我认为您不能在GROUP BY. 可能是作者有不同版本的 pig 支持这种操作。为了获得相同的效果,您可以将其拆分为两个步骤:

logs_day = FOREACH logs GENERATE ....., DayExtractor(dt) as day;
grpd = GROUP logs_day BY day;
于 2013-09-20T09:24:06.810 回答