gpt4 book ai didi

hadoop - hadoop如何在流模式下知道你的 key 类型

转载 作者:可可西里 更新时间:2023-11-01 14:45:05 25 4
gpt4 key购买 nike

在 map 之后和 reduce 之前,有一个排序阶段。在streaming模式下,hadoop怎么知道你输入的key是什么,然后排序。

例如

输入文件格式

1990    1
1991 4
1992 5
...

map的结果有keys 1990,1991,1992...,hadoop是怎么排序的? (数字排序或字母排序)

最佳答案

在 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,否则 map 输出键/值设置为文本。 IdentifierResolver#resolve 中的类。

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

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

检查 StreamJob , IdentifierResolverText类。

关于hadoop - hadoop如何在流模式下知道你的 key 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8368131/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com