gpt4 book ai didi

java - 迭代器不允许使用 reducer

转载 作者:行者123 更新时间:2023-12-02 22:05:55 25 4
gpt4 key购买 nike

我试图在我的reducer中编写以下代码,并且编译错误出现如下:

The method collect(Text, Text) in the type OutputCollector<Text,Text> is not applicable for the arguments (Text, Iterator<Text>)


public void reduce(Text key, Iterator<Text> values, OutputCollector<Text, Text> output, Reporter reporter) throws IOException {            
output.collect(key, values);
}

据我所知, map <K,V>的输出经过混洗和排序,形成了reducer输入的集合。

我能知道错误背后的原因吗?

最佳答案

错误消息发出的问题是OutputCollector<K,V>类的类型签名和collect(K,V)方法必须匹配。

在这种情况下,它们不匹配,因为您声明了

OutputCollector<Text, Text> output

但试图打电话
output.collect(key, values);

values的类型为 Iterator<Text>,与 OutputCollector<Text,Text>期望的值的值类型Text不匹配。

关于java - 迭代器不允许使用 reducer ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37336363/

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