Pig错误:无法打开别名的迭代器

时间:2015-10-26 12:25:58

标签: hadoop apache-pig bigdata

这是我的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的迭代器'。 任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

如果你的代码主要是有效的,除了一些文件,这就是你在思考更难的时候想要做的事情。没有解决问题:

  1. 查找发生错误的文件并保留此数据
  2. 尝试上半部分数据,如果发生错误,请保留该部分并转到1
  3. 尝试底部(只是为了确定),如果发生错误,请转到1
  4. 在几个步骤中,您应该只剩下1行导致错误,并且应该很容易检查。