国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)管 > 服務(wù)器 > 正文

Hadoop控制輸出文件命名

2020-05-27 13:43:39
字體:
供稿:網(wǎng)友

   在一般情況下,Hadoop 每一個(gè) Reducer 產(chǎn)生一個(gè)輸出文件,文件以

  part-r-00000、part-r-00001 的方式進(jìn)行命名。如果需要人為的控制輸出文件的命

  名或者每一個(gè) Reducer 需要寫出多個(gè)輸出文件時(shí),可以采用 MultipleOutputs 類來

  完成。MultipleOutputs 采用輸出記錄的鍵值對(output Key 和 output Value)或者

  任意字符串來生成輸出文件的名字,文件一般以 name-r-nnnnn 的格式進(jìn)行命名,

  其中 name 是程序設(shè)置的任意名字;nnnnn 表示分區(qū)號(hào)。

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

  想要使用 MultipeOutputs,需要完成以下四個(gè)步驟:

  1. 在 Reducer 中聲明 MultipleOutputs 的變量

  private MultipleOutputs

  2. 在 Reducer 的 setup 函數(shù)中進(jìn)行 MultipleOutputs 的初始化

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

  multipleOutputs = new MultipleOutputs

  }

  3. 在 reduce 函數(shù)中進(jìn)行輸出控制

  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 函數(shù)中關(guān)閉輸出 MultipleOutputs

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

  multipleOutputs.close();

  }

  注意:multipleOutputs.write(key, value, baseOutputPath)方法的第三個(gè)函數(shù)表明了該輸出所在的目錄(相對于用戶指定的輸出目錄)。如果baseOutputPath不包含文件分隔符“/”,那么輸出的文件格式為baseOutputPath-r-nnnnn(name-r-nnnnn);如果包含文件分隔符“/”,例如baseOutputPath=“029070-99999/1901/part”,那么輸出文件則為

Hadoop控制輸出文件命名 武林網(wǎng)
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 沂南县| 高雄市| 门头沟区| 忻州市| 平阴县| 丹阳市| 淳化县| 论坛| 尉犁县| 连州市| 钟祥市| 卓资县| 思茅市| 安西县| 宝坻区| 绥棱县| 义乌市| 海宁市| 景宁| 曲水县| 福州市| 苏尼特右旗| 东明县| 吉木乃县| 龙里县| 永靖县| 澳门| 茶陵县| 焦作市| 赣榆县| 东阳市| 威海市| 三原县| 青海省| 衡山县| 张掖市| 和硕县| SHOW| 宁陕县| 内丘县| 文水县|