这是我的PIG脚本:
json = LOAD '/tmp/events/*/*/flume-.*' USING JsonLoader('state:chararray, city:chararray, promotionType:chararray, promotionPlace: chararray, purchase:int');
grouped = FOREACH (group json BY (state, city, promotionType, promotionPlace)) GENERATE group, SUM(json.purchase) as purchase;
grpd = GROUP grouped BY group.city;
top1 = foreach grpd {sorted = order grouped by purchase desc;top = limit sorted 1;generate group, flatten(top);};
DUMP top1;
它适用于多个文件,但对于多个文件(3k),它会出错:'无法打开别名top1的迭代器'。 任何想法如何解决这个问题?
答案 0 :(得分:0)
如果你的代码主要是有效的,除了一些文件,这就是你在思考更难的时候想要做的事情。没有解决问题:
在几个步骤中,您应该只剩下1行导致错误,并且应该很容易检查。