在Hadoop中将输出写入多个文件



可能的重复项:
Hadoop中的MultipleOutputFormat

我想在hadoop中使用map-reduce根据月份编写文件。如果数据来自一月份,那么数据应该在一月份文件中写,同样,每个月都应该有单独的文件。

如何在 hadoop mapredude 中创建这样的文件。我正在尝试递归地图减少,但不知道如何实现它?

请给我一些解决方案。

谢谢。

使用 MultipleOutputFormat 类,输出文件名可以从键推导出来,化简器输出值可以从化简器推导出来。MultipleOutputFormat#generateFileNameForKeyValue 必须在用户定义的 OutputFormat 类中实现。

static class MyMultipleOutputFormat extends MultipleOutputFormat<Text, Text> {
    protected String generateFileNameForKeyValue(Text key, Text value, String name) {
        String keyString = key.toString();
        String valueString = value.toString();
        #return a combination of keyString and valueString 
    }
}

相关内容

  • 没有找到相关文章

最新更新