gpt4 book ai didi

java - Hadoop 类型转换

转载 作者:可可西里 更新时间:2023-11-01 15:25:32 28 4
gpt4 key购买 nike

我的 mapper 和 reducer 类有以下签名:

MapperPrime extends Mapper<Text, Text, Text, Text>
ReducerPrime extends Reducer<Text, Text, Text, LongWritable>

当我运行代码时,当执行到达 reducer 时出现以下异常:

java.lang.ClassCastException: org.apache.hadoop.io.LongWritable cannot be cast to org.apache.hadoop.io.Text
at ReducerPrime.reduce(ReducerPrime.java:1)

当我将 ReducerPrime 中的第一个泛型类型从 Text 更改为 LongWritable 时,即

ReducerPrime extends Reducer<LongWritable, Text, Text, LongWritable>

不再抛出异常。是什么赋予了? java 为什么/在哪里会看到 LongWritable?

Reducer 中输入的Key,Value 类型与Mapper 中输出的Key,Value 类型不完全匹配吗?

最佳答案

Why/Where would java be seeing a LongWritable

对于 Mapper,TextInputFormat 的键是文件偏移量,它是一个 long。 Value 是文本行,因此是 Text 可写对象。

Doesn't the input Key,Value type in the Reducer exactly match the ouput Key,Value type in the Mapper?

是的,它应该,但由于我们目前看不到代码,所以很难说出你写的输出是什么。

关于java - Hadoop 类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47627314/

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