Hadoop控制输出文件命名

血誓无牙

血誓无牙

2016-03-31 16:26

最近很多朋友喜欢上iphone,但是大家却不知道如何去做,别担心有图老师给你解答,史上最全最棒的详细解说让你一看就懂。

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 的变量

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  private MultipleOutputs

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

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

  multipleOutputs = new MultipleOutputs

  }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  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());

  }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

  }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

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

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

  multipleOutputs.close();

  }

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/fuwuqi/)

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

Hadoop控制输出文件命名 图老师
展开更多 50%)
分享

猜你喜欢

Hadoop控制输出文件命名

服务器
Hadoop控制输出文件命名

如何利用php+mysql保存和输出文件

PHP
如何利用php+mysql保存和输出文件

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

在窗口中输出文字

编程语言 网络编程
在窗口中输出文字

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

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

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

输出控制类

PHP
输出控制类

Focusky怎么导出文件

电脑网络
Focusky怎么导出文件

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

谷歌浏览器“您的链接不是私密链接”解决方法

谷歌浏览器“您的链接不是私密链接”解决方法

CentOS 6.4系统下编译安装LNMP和配置PHP环境

CentOS 6.4系统下编译安装LNMP和配置PHP环境
下拉加载更多内容 ↓