1
지도 작업에서 모든 입력 레코드를 트래버스하지 않아도되는 경우가 있습니다. 예를 들어 각 매퍼에서 특정 조건을 만족하는 최대 200 개의 레코드 만 내보내고 나면 종료 할 수 있습니다.hadoop의 코드에서지도 작업을 일찍 끝낼 수 있습니까?
내가 할프럽에서 이것을 할 수 있습니까? API 문서에서 관련 메소드를 아직 찾을 수 없습니다.
지도 작업에서 모든 입력 레코드를 트래버스하지 않아도되는 경우가 있습니다. 예를 들어 각 매퍼에서 특정 조건을 만족하는 최대 200 개의 레코드 만 내보내고 나면 종료 할 수 있습니다.hadoop의 코드에서지도 작업을 일찍 끝낼 수 있습니까?
내가 할프럽에서 이것을 할 수 있습니까? API 문서에서 관련 메소드를 아직 찾을 수 없습니다.
Mapper의 run
메서드를 재정 의하여이 문제를 해결할 수 있습니다.
public void run(Context context) throws IOException, InterruptedException {
setup(context);
try {
while (context.nextKeyValue()) {
map(context.getCurrentKey(), context.getCurrentValue(), context);
}
} finally {
cleanup(context);
}
}
그래서이 표준 map()
메소드가 호출되는 방법은 다음과 같은
실행 방법은 현재 보인다. 거기에 카운터를 추가하고 200을 치면 while 루프에서 빠져 나올 수 있습니다.
정확히 내가 필요한 것. – user1206899