복붙노트

[HADOOP] Hadoop MapReduce 중간 산출물

HADOOP

Hadoop MapReduce 중간 산출물

응용 프로그램을 편집하지 않고 MapReduce 작업의 중간 (Map Phase) 출력을 기록하는 출력 방법이 있습니까? (응용 프로그램은 제 것이 아니라 클러스터가 있으며, 원하는대로 Hadoop 클러스터를 설정할 수 있습니다)

해결법

  1. ==============================

    1.keep.task.files.pattern 매개 변수를 사용하여 중간 파일을 보관할 수 있습니다. 작업이 완료되면 중간 파일을 수동으로 정리해야합니다. 이것은 맵 / 리사이징 작업 속성이기 때문에 구성 파일에 설정되어야하고 jar 파일은 다시 패키지화되어야합니다.

    keep.task.files.pattern 매개 변수를 사용하여 중간 파일을 보관할 수 있습니다. 작업이 완료되면 중간 파일을 수동으로 정리해야합니다. 이것은 맵 / 리사이징 작업 속성이기 때문에 구성 파일에 설정되어야하고 jar 파일은 다시 패키지화되어야합니다.

  2. ==============================

    2.MR 프레임 워크가 중간 맵 출력 파일을 저장하기위한 구성을 제공한다고 생각하지 않습니다. 플래그가있는 경우에도 다음과 같은 이유로 매우 유용하지는 않습니다.

    MR 프레임 워크가 중간 맵 출력 파일을 저장하기위한 구성을 제공한다고 생각하지 않습니다. 플래그가있는 경우에도 다음과 같은 이유로 매우 유용하지는 않습니다.

    지도에서 생성되는 중간 출력은 다음과 같이 쉽게 읽거나 사용할 수 없습니다. 1) 키 값 출력은 중간 파일에 쓰기 전에 직렬화됩니다. 2) 키 값 쌍 (키 길이, 값 길이, 파티션 번호)과 관련된 메타 데이터도이 파일에 기록됩니다 (이 메타 데이터는 바이너리 형식입니다)

    이러한 중간 파일의 위치는 다음과 같습니다. a) 중간 중간 파일 (누출 출력) : /yarn/nm/usercache/root/appcache/application_1525687099554_0008/attempt_1525687099554_0008_m_000000_0_spill_0.out b) 최종 중간 파일 (병합 출력) :  /yarn/nm/usercache/root/appcache/application_1525687099554_0008/output/attempt_1525687099554_0008_m_000001_0/file.out

  3. from https://stackoverflow.com/questions/7867608/hadoop-mapreduce-intermediate-output by cc-by-sa and MIT license