如何调试提交作业后被卡住的pig

qij5mzcb  于 2021-06-21  发布在  Pig
关注(0)|答案(1)|浏览(307)

我有一个用pig写的map reduce作业,它正在执行以下操作。
给定一组apache日志文件,表示对网站上某个资源的访问
从机器人和不需要的原木线上清理原木
生成在日志中找到的元组(ip、资源id)
例如,此日志: 1.1.1.1 - [14/Jun/2014:06:26:27 +0000] "GET /path/to/resource/<resource_id>" "Agent" 将被转换成(如果不是机器人): (1.1.1.1, <resource_id>) 这是通过一个简单的udf来完成的,该udf使用regex+a库来解析日志,以便进行robot检测。
从这一步开始,脚本继续执行几个额外的map reduce操作。
问题如下:
我能在当地完成养Pig工作。
我把这个脚本上传到amazon elastic map reduce,需要处理5gb的日志。
我用10分钟的时间写了一个小时的剧本 m1.large 示例。
工作还没完成,我就终止了。
已经生成的hadoop日志并没有显示出太多的进展,似乎还停留在前面描述的初始准备阶段。 2014-07-07 06:31:17,609 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - detailed locations: M: pre1[4,7],pre2[-1,-1],pre3[7,7],pre4[8,7],r2[13,5] C: R: r5[-1,-1] 2014-07-07 06:31:17,661 [main] INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher - 0% complete 您建议如何从这里开始调试这个问题?
你认为给定数据大小,机器的数量是合理的吗?
我真的很期待在那么长的时间内完成这项工作。
谢谢您

ui7jx7zq

ui7jx7zq1#

如果你有大量的日志文件,我可以想象处理可能会很慢。在这种情况下,您可以在将它们放在hdfs上之前进行组合。对于这种硬件上的简单解析脚本来说,一般5gb的容量应该不是问题。
对于这种情况,一般下一步是把问题缩小。
如果你只是给它提供一些小文件,而不是5gb,它在amazon上工作吗。
如果是的话,如果你先给它1%,然后给它2%,然后给它10%,那么运行时间是如何增加的?
如果它不起作用,那么如果您使解析函数变得琐碎,或者一起跳过它,会发生什么呢?

相关问题