java—在hadoop中重试处理失败的文件

z4iuyo4d  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(300)

我有一个hadoop map reduce程序,它只是一个简单的文件处理代码。每个Map器都有一个文件作为输入。
我的减速机部分是空的。所有的工作都是在map()方法中完成的。
我现在面临的问题是-
如果mapper中的文件处理操作失败,我就不能告诉hadoop作业在从同一个失败的文件重试并继续之前等待几秒钟。
是否有任何方式/配置可以这样指定?
如果有人遇到过这样的用例,请告诉我。

sh7euo9m

sh7euo9m1#

我认为你应该尝试根据你的逻辑使用多个输出将坏记录写入不同的文件。对于多输出,您可以遵循以下链接:多输出链接
如果您遵循这种方法,您可以根据map方法中的逻辑过滤出不良记录和良好记录,并且您的工作不会失败。使用多个输出,您可以将坏记录写入一个单独的文件,并在以后对其进行分析。使用这种方法,您可以确保您的工作不会因为不良记录而失败,并且您的良好记录得到正确处理。
您还可以查看此链接计数器来检测坏记录,以确定实际有多少个坏记录。我希望这有帮助

相关问题