当前位置: 首页 > 知识库问答 >
问题:

如何从减速机输出中的r-00000部分中删除-r-00000

高皓
2023-03-14

在我的MapReduce代码中,在reducer端,我实现了multipleOutput,并将inputsplit附加到它。我希望输出文件名作为keyvalue,而不是keyvalue-r-00000。如何删除尾随值。下面是我的代码。

String last = map.lastKey();
        String tab2[] = last.split(",");
        String line1 = "[" + tab2[2] + "," + tab2[3] + "," + tab2[8] + "]" + "\n" + "];";
        text1.set(line1);
        multipleOutputs.write(NullWritable.get(), text1, generateFileName(key));
    }

    String generateFileName(Text key){
        return key.toString();      
    }

    @Override
    public void setup(Context con){
        multipleOutputs = new MultipleOutputs<NullWritable, Text>(con);
    }

    @Override
    public void cleanup(final Context context) throws IOException, InterruptedException{
        multipleOutputs.close();
    }
}

共有1个答案

陆绍辉
2023-03-14

根据Javadoc的多次输出,参数如下

write(KEYOUT key, VALUEOUT value, String baseOutputPath)

这里的第一个参数应该是key

是的

multipleOutputs.write(key, text1, generateFileName(key));

这对我有用。

 类似资料:
  • 我能够正确地重命名我的reducer输出文件,但r-00000仍然存在。我在我的减速机课上使用了多次输出。以下是这方面的细节。不确定我错过了什么或者我还需要做什么?

  • 目前,我能够在mapper中实现从到自定义文件名的名称更改。我通过使用来实现这一点。我在reducer中尝试了同样的方法来重命名文件,但fileSplit方法不适用于reducer。那么,有没有最好的方法将reducer的输出重命名为inputfile name呢。下面是我如何在mapper中实现的。

  • 本文向大家介绍如何从R数据框中删除空行?,包括了如何从R数据框中删除空行?的使用技巧和注意事项,需要的朋友参考一下 在调查或任何其他数据收集媒介期间,无法从所有单位获取所有信息。有时我们得到部分信息,有时什么也没有。因此,数据中的某些行可能完全为空白,而某些行可能具有部分数据。可以删除空白行,并使用有助于处理缺失信息的方法填充其他空值。 示例 考虑下面的数据框,它缺少一些行和一些值- 在这里,我们

  • 我试着从这一页中刮出博彩赔率: https://www.interwetten.com/en/sportsbook/top-leagues?toplinkid=1 现在我得到的输出是: 现在我想提取每个中的团队名,但我不知道如何提取。我尝试使用节点或attrs,但没有效果。

  • 本文向大家介绍如何删除R数据框中的行?,包括了如何删除R数据框中的行?的使用技巧和注意事项,需要的朋友参考一下 这可以通过使用方括号来完成。 示例 假设我们要删除第4、7和9行。我们将执行以下操作-

  • 本文向大家介绍如何在R中的特殊字符后删除部分字符串?,包括了如何在R中的特殊字符后删除部分字符串?的使用技巧和注意事项,需要的朋友参考一下 有时我们不需要整个字符串来进行分析,尤其是当它使分析变得复杂或毫无意义时。在这种情况下,可以从完整的字符串中删除我们认为不必要的字符串部分。例如,假设我们有一个字符串ID:00001-1,但我们不想在该字符串中使用-1,那么我们可以将其删除,这可以通过gsub