Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hadoop 当映射器在EMR流作业中死亡时会发生什么?_Hadoop_Amazon Web Services_Mapreduce_Streaming_Emr - Fatal编程技术网

Hadoop 当映射器在EMR流作业中死亡时会发生什么?

Hadoop 当映射器在EMR流作业中死亡时会发生什么?,hadoop,amazon-web-services,mapreduce,streaming,emr,Hadoop,Amazon Web Services,Mapreduce,Streaming,Emr,在弹性mapreduce流作业中,如果映射程序突然死亡,会发生什么?是否将重放已处理的数据?如果是,是否有任何选项来禁用该功能 我这样问是因为我正在使用EMR向第三方数据库插入一些数据。每个映射程序都通过HTTP发送传入的数据。在这种情况下,如果映射程序崩溃,我不想重播HTTP请求,我需要继续我离开的地方。MR是一个容错框架。当映射任务失败时(流式API或Java API),行为是相同的 一旦作业跟踪器收到任务失败的通知,它将尝试重新安排任务。已删除失败任务生成的临时输出 可以看到关于如何在MR

在弹性mapreduce流作业中,如果映射程序突然死亡,会发生什么?是否将重放已处理的数据?如果是,是否有任何选项来禁用该功能


我这样问是因为我正在使用EMR向第三方数据库插入一些数据。每个映射程序都通过HTTP发送传入的数据。在这种情况下,如果映射程序崩溃,我不想重播HTTP请求,我需要继续我离开的地方。

MR是一个容错框架。当映射任务失败时(流式API或Java API),行为是相同的

一旦作业跟踪器收到任务失败的通知,它将尝试重新安排任务。已删除失败任务生成的临时输出

可以看到关于如何在MR中处理故障的更详细讨论


对于您的特定情况,我认为您需要在setup()方法中引用外部源以查找已处理的记录,然后在mapper()方法中使用此信息来决定是否应处理特定记录。

流式处理是什么意思?在Hadoop上下文中,流式处理支持在不使用Java Hadoop绑定的情况下以任何语言编写MR程序。这是你想要的还是数据的实时处理?请看Sudarshan的回答和我下面的评论。我不关心输出。我只是对输入进行一些处理,我不希望它被重放。有没有办法禁用此故障转移功能?我需要我的新地图从它离开的地方重新开始。我不确定我是否明白你的意思,你的处理中途失败了。。。因此,它将放弃失败任务完成的任何一半处理,并重新开始,它不能从失败任务离开的点开始,我使用它的确切目的是:每个映射器使用从流式处理中获得的数据,通过http点击第三方应用程序。假设我使用mapreduce以分布式方式将数据放入多个数据库中。它可以帮助我,因为它可以将任务分配给我需要的任意多台机器。我不知道MR是否适合我的案例,但我不知道任何替代方法。那么,您是说,在处理输入拆分时,如果处理了一半记录,然后任务失败,当任务由MR框架重新启动时,您希望它只处理文件的后一半(未处理的一半)?我希望重播整个批次,但我只想继续未处理的部分。