복붙노트

[HADOOP] 하둡 파일 분할 : CompositeInputFormat : 내부 결합

HADOOP

하둡 파일 분할 : CompositeInputFormat : 내부 결합

hadoop 작업에 입력을 제공하기 위해 CompositeInputFormat을 사용하고 있습니다.

생성 된 분할 수는 CompositeInputFormat에 입력으로 제공된 총 파일 수입니다 (결합).

작업이 블록 크기와 최대 분할 크기를 완전히 무시하고 있습니다 (CompositeInputFormat에서 입력을받는 동안). 이로 인해 오래 실행되는 맵 작업이 발생하고 입력 파일이 블록 크기보다 커서 시스템이 느려집니다.

누구나 CompositeInputFormat에 대해 분할 수를 관리 할 수있는 방법을 알고 있습니까?

해결법

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

    1.불행하게도, CompositeInputFormat은 블록 / 분할 크기를 무시해야합니다. CompositeInputFormat에서 입력 파일을 동일하게 정렬하고 분할해야합니다. 따라서 Hadoop은이 특성을 유지하기 위해 파일을 분할 할 위치를 결정할 방법이 없습니다. 파일을 구성하기 위해 파일을 분할 할 위치를 결정할 방법이 없습니다.

    불행하게도, CompositeInputFormat은 블록 / 분할 크기를 무시해야합니다. CompositeInputFormat에서 입력 파일을 동일하게 정렬하고 분할해야합니다. 따라서 Hadoop은이 특성을 유지하기 위해 파일을 분할 할 위치를 결정할 방법이 없습니다. 파일을 구성하기 위해 파일을 분할 할 위치를 결정할 방법이 없습니다.

    이 문제를 해결하는 유일한 방법은 파일을 더 작은 분할로 수동으로 분할하고 분할하는 것입니다. 더 많은 양의 리듀서가있는 mapreduce 작업 (아마도 identity mapper 및 identity reducer)을 통해 데이터를 전달하면됩니다. 동일한 수의 감속기를 사용하여 두 데이터 세트를 모두 전달하십시오.

  2. from https://stackoverflow.com/questions/8654200/hadoop-file-splits-compositeinputformat-inner-join by cc-by-sa and MIT license