Hadoop控制输出文件命名

在一般情况下,Hadoop 每一个 Reducer 产生一个输出文件,文件以

part-r-00000、part-r-00001 的方式进行命名。如果需要人为的控制输出文件的命

名或者每一个 Reducer 需要写出多个输出文件时,可以采用 MultipleOutputs 类来

完成。MultipleOutputs 采用输出记录的键值对(output Key 和 output Value)或者

任意字符串来生成输出文件的名字,文件一般以 name-r-nnnnn 的格式进行命名,

其中 name 是程序设置的任意名字;nnnnn 表示分区号。

MultipleOutputs 的使用方式 的使用方式: :: :

想要使用 MultipeOutputs,需要完成以下四个步骤:

1. 在 Reducer 中声明 MultipleOutputs 的变量

private MultipleOutputs

2. 在 Reducer 的 setup 函数中进行 MultipleOutputs 的初始化

protected void setup(Context context)throws IOException, InterruptedException {

multipleOutputs = new MultipleOutputs

}

3. 在 reduce 函数中进行输出控制

protected void reduce(Text key, Iterable values, Context context)throws IOException,

InterruptedException {

for (Text value : values) {

multipleOutputs.write(NullWritable.get(), value, key.toString());

}

}

4. 在 cleanup 函数中关闭输出 MultipleOutputs

protected void cleanup(Context context)throws IOException, InterruptedException {

multipleOutputs.close();

}

注意:multipleOutputs.write(key, value, baseOutputPath)方法的第三个函数表明了该输出所在的目录(相对于用户指定的输出目录)。如果baseOutputPath不包含文件分隔符“/”,那么输出的文件格式为baseOutputPath-r-nnnnn(name-r-nnnnn);如果包含文件分隔符“/”,例如baseOutputPath=“029070-99999/1901/part”,那么输出文件则为

(0)

相关推荐

  • 狸窝全能视频转换器如何看源文件跟输出文件对比

    狸窝全能视频转换器看源文件跟输出文件对比。我们在文件转换的时候,很多时候想全面的对比一下源文件跟转换后的文件有什么区别,这样有利于转换出自己想要的文件。下文就让小编跟大家讲讲狸窝全能视频转换器看源文件 ...

  • 狸窝全能视频转换器看源文件跟输出文件对比

    狸窝全能视频转换器看源文件跟输出文件对比

  • 如何进行文件命名

    文件名是文件最显著的特征,通过它我们可以找到我们想要的文件,并区分不同类型的文件.而每个文件的命名规则都是相同的,那就是*.*的格式,前半部分是文件的正式文件名,后半部分是文件的属性标记,也就是我们常 ...

  • 如何处理电脑AE输出文件太大

    我们经常使用电脑上的AE软件来输出文件,文件的大小经常会影响到我们输出速度,当我们遇到要输出较大文件时,可以通过哪些处理来帮助我们更快更好的完成输出,接下来就让小编来教你们吧.具体如下:1. 第一步, ...

  • 电脑格式工厂的输出文件夹位置怎么更改

    格式工厂可以帮助我们把视频文件转换为规定的格式,然后上传到网上,今天小编跟大家分享的是电脑格式工厂的输出文件夹位置怎么更改.具体如下:1. 首先我们在电脑中双击打开"格式工厂",2 ...

  • 如何更改电脑版BANDICAM中输出文件的名称

    电脑版BANDICAM软件被很多人使用,用来录制视频等,有的用户在该软件时,为了区分录制的视频,因此想要更改输出文件的名称,但是却不知道如何更改,那么小编就来为大家介绍一下吧.具体如下:1. 第一步, ...

  • 解决IIS发布时CS0016未能写入输出文件错误

    IIS发布时,编译器错误消息: CS0016: 未能写入输出文件"c:\Windows\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NE ...

  • 解决AE的输出文件太大

    在这里介绍解决AE的输入文件太大的方法,希望本指南能帮到你. 操作方法 01 AE的输出文件太大主要是选择输出的格式不对,以至于输入的文件过大.比如,下面在AE中制作了一个简单的小动画. 02 接着, ...

  • Win7系统如何多文件命名

    第一步、文件中选中你要按数字命名的文件,按"Ctrl+A”或按住"Ctrl”然后用鼠标点击想修改的文件。 第二步、选中后按“F2”或者在选中的文件上右键“重命名”即可,各个文件结尾将以“XX数字.jp ...