0
O'Reilly 서적 Hadoop : The Definitive Guide (Tom White, 제 3 판)의 Java 코드 예제를 다시 작성하고이를 다시 작성/이해하려고합니다.Hadoop book Java 클래스 예제를 사용하는 이유에 대해 설명합니다. 컴파일 오류가 없습니다. 그렇지 않으면 "int를 참조 해제 할 수 없습니다."
책에서 클래스는 잘 컴파일 :
import java.io.IOException;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Reducer;
public class MaxTemperatureReducer
extends Reducer<Text, IntWritable, Text, IntWritable> {
@Override
public void reduce(Text key, Iterable<IntWritable> values,
Context context)
throws IOException, InterruptedException {
int maxValue = Integer.MIN_VALUE;
for (IntWritable value : values) {
maxValue = Math.max(maxValue, value.get());
}
context.write(key, new IntWritable(maxValue));
}
}
을하지만 난 내 자신에 그것의 일부를 테스트하려고 할 때, 나는 "의 컴파일 오류가 다음과 같이 오전 데 문제는 INT는 역 참조 할 수 없습니다 "
public class TestMinValue {
public static void main(String[] args){
int[] values = {1,2,3,4,5};
int maxValue = Integer.MIN_VALUE;
for(int value : values){
maxValue = Math.max(maxValue, value.get());
}
}
}
내가 자바에 새로운 오전과의 차이를 이해하고 싶습니다; 예제 클래스가 작동하는 이유는 무엇입니까?
감사합니다. 내 코드에서 {value.get()}을 {value}로 대체했으며 효과가있었습니다. – Marina