Apache pig 如何调试提交作业后被卡住的清管器
我有一个用Pig编写的map reduce作业,它正在执行以下操作 给定一组apache日志文件,表示对网站上特定资源的访问Apache pig 如何调试提交作业后被卡住的清管器,apache-pig,elastic-map-reduce,Apache Pig,Elastic Map Reduce,我有一个用Pig编写的map reduce作业,它正在执行以下操作 给定一组apache日志文件,表示对网站上特定资源的访问 清理机器人上的圆木和不需要的圆木线 生成在日志中找到的元组(ip、资源\u id) 例如,此日志: 1.1.1.1-[14/Jun/2014:06:26:27+0000]“GET/path/to/resource/”“Agent” 将被转换成(如果不是机器人): (1.1.1.1,) 这是通过一个简单的UDF来完成的,该UDF使用regex+a库解析日志以进行机器人检
- 清理机器人上的圆木和不需要的圆木线
- 生成在日志中找到的元组(ip、资源\u id)
1.1.1.1-[14/Jun/2014:06:26:27+0000]“GET/path/to/resource/”“Agent”
将被转换成(如果不是机器人):(1.1.1.1,)
这是通过一个简单的UDF来完成的,该UDF使用regex+a库解析日志以进行机器人检测。从这一步开始,脚本将继续执行两个附加的map reduce操作 问题如下:
- 我能在当地完成养猪工作李>
- 我将脚本上传到Amazon Elastic Map Reduce,需要处理5GB的日志李>
- 我用10个大型实例运行了1个小时的脚本李>
- 工作没有完成,我就终止了李>
2014-07-07 06:31:17609[main]INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLauncher-详细位置: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:17661[main]INFO org.apache.pig.backend.hadoop.executionengine.mapReduceLayer.MapReduceLancher-完成0%
您建议如何从这里开始调试问题?您认为给定数据大小,机器数量合理吗?
我真的很期待在这么长的时间内完成这项工作
谢谢如果您有大量日志文件,我可以想象处理可能会很慢。在这种情况下,您可以在将它们放在HDF上之前将它们组合起来。对于这种硬件上的简单解析脚本来说,5GB的总容量应该不是问题 对于这种情况,下一步通常是将问题缩小
您是否有权访问JobTracker,以便详细监控每个任务?您应该能够在自己的机器上在1小时内通过5 GB,更不用说10个Amazon实例了……我可以看到
任务尝试
日志文件夹。在它里面,我有正在进行的不同任务的所有细节()。它们中的每一个看起来都像这样==>打开's3n://path/to/log/access.log.22'来读取每个作业阶段正在处理的[…]别名(别名[line,offset]):M:pre1[4,7],pre2[-1,-1],pre3[7,7],pre4[8,7],r2[13,5]C:R:r5[-1,-1]2014-07-06:33:09202信息[Thread-5]amazon.emr.metrics.MetricsUtil:instance controller state completed 2014-07-07 06:33:09809 INFO[Thread-5]amazon.emr.metrics.MetricsSaver:emr metrics是禁用的我在S3中运行大量小文件时看到过类似的行为(这些文件在映射程序中分配不均等)。使用s3distcp()将文件从S3复制到HDFS(可以通过这种方式组合小文件)时,您是否看到了相同的行为?