我正在使用yelpmrjob编写一些mapreduce程序。我在电子病历上运行。我的程序有一个需要很长时间才能执行的reducer代码。我注意到,由于EMR中的默认超时时间,我得到了这个错误
Task attempt_201301171501_0001_r_000000_0 failed to report status for 600 seconds.Killing!
我想要一种增加电子病历超时的方法。我读了mrjobs的官方文件,但是我不明白程序。有人能提出解决这个问题的办法吗。在
Tags:
我在过去处理过一个类似的EMR问题,您要查找的属性
mapred.task.timeout
,它对应于如果一个任务既不读取输入,也不写入输出,也不更新其状态字符串,。在使用MRJob,可以添加以下选项:
编辑:似乎有些EMR AMI不支持在运行时使用jobconf设置超时等参数。相反,您必须使用如下引导时间配置:
^{pr2}$我仍然会尝试第一个,看看是否可以让它工作,否则尝试引导操作。在
要运行这些参数中的任何一个,只需创建从
MRJob
扩展的作业,这个类有一个jobconf
方法,它将读取您的jobconf
参数,因此您应该在命令行中将这些指定为常规选项:相关问题 更多 >
编程相关推荐