java.io.IOException:Typemismatch in key from map:expected org.apache.hadoop.io
1774 단어 exception
해결 방법:
job.setMapOutputKeyClass(IntWritable.class);
job.setMapOutputValueClass(Text.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
if (key.getClass() != keyClass) { thrownew IOException("Type mismatch in key from map: expected " + keyClass.getName() + ", recieved " + key.getClass().getName()); } if(value.getClass() != valClass) { thrownew IOException("Type mismatch in value from map: expected " + valClass.getName() + ", recieved " + value.getClass().getName()); }
MapOutputBuffer에서collet () 은 MapOutputBuffer에서 지정한 KeyClass와 ValueClass를 초기화하는 것과 같은 실제 키 값 유형을 검사합니다.
keyClass= (Class<K>)job.getMapOutputKeyClass();
valClass =(Class<V>)job.getMapOutputValueClass();
public Class<?> getOutputKeyClass() { return getClass("mapred.output.key.class", LongWritable.class, Object.class); LongWritable }
public Class<?> getOutputKeyClass() { return getClass("mapred.output.key.class", LongWritable.class, Object.class); LongWritable }
상술한 것은 프로그램에서 직접 수정하고, 명령줄에서 키와value를 지정하는 형식도 있습니다.
-D mapred.mapoutput.key.class=org.apache.hadoop.io.LongWritable -jobconf mapred.mapoutput.key.class=org.apache.hadoop.io.LongWritable
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Exception Class에서 에러 코드 해석 ~초기초편~직장에서 C# 프로젝트가 내뿜는 오류 코드를 구문 분석하고 오류의 위치를 확인하기 위해 Exception class를 활용할 수 있었습니다. 지금까지 Exception Class 에 대해서 별로 파악할 수 없었기 때...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.