hadoop - 当映射器在 EMR 流式处理作业中死亡时会发生什么?

标签 hadoop amazon-web-services mapreduce streaming emr

在弹性 mapreduce 流作业中,如果 mapper 突然挂掉会发生什么?已经处理过的数据会被重播?如果是这样,是否有任何选项可以禁用它?

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

最佳答案

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

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

关于MR中如何处理失败的更详细的讨论可见here

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

关于hadoop - 当映射器在 EMR 流式处理作业中死亡时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23361266/

相关文章:

hadoop - HIVE 中 ALTER TABLE 命令中的 CONCATENATE 如何工作

python - 如何将 Django .html 指向 S3 媒体文件?拒绝访问

amazon-web-services - docker-machine 连接到现有机器

hadoop - HDFS空间配额-如果父文件夹的配额少于其子文件夹的配额,该怎么办

hadoop - Pig - 压扁数据包

hadoop - 读取到Mapper类中的map方法的值不正确或读取不完全

python - Hadoop流作业执行中映射器的“Text file busy”错误

amazon-web-services - 将多个 Route53 子域指向单个 S3 存储桶

hadoop - 在Hadoop中使用MapReduce进行过滤

Hadoop:用多棵树(采样说 N,说 x RandomTree)训练大数据(以 GB 为单位)并测试