当前位置:  开发笔记 > 大数据 > 正文

hadoop如何在流模式下知道您的密钥类型

如何解决《hadoop如何在流模式下知道您的密钥类型》经验,为你挑选了1个好方法。

在map之后和reduce之前,有一个排序阶段.在流模式下,hadoop如何知道您的密钥类型是什么,并对其进行排序.

例如

输入文件格式

1990    1
1991    4
1992    5
...

地图的结果有钥匙1990,1991,1992 ......,怎么用hadoop排序呢?(数字排序或字母排序)



1> Praveen Srip..:

在StreamJob中,地图输出键/值对被指定为

idResolver.resolve(jobConf_.get("stream.map.output",
  IdentifierResolver.TEXT_ID));
jobConf_.setClass("stream.map.output.reader.class",
  idResolver.getOutputReaderClass(), OutputReader.class);
jobConf_.setMapOutputKeyClass(idResolver.getOutputKeyClass());
jobConf_.setMapOutputValueClass(idResolver.getOutputValueClass());

除非将stream.map.output属性设置为rawbytestypedbytes,否则在IdentifierResolver #resolution中将地图输出键/值设置为Text.class.

setOutputKeyClass(Text.class);
setOutputValueClass(Text.class);

在Text.java中,Comparator子类扩展了WritableComparator并实现了比较方法,它以字典顺序(字典或字母顺序)进行比较.

检查StreamJob,IdentifierResolver和Text类.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有