복붙노트

[HADOOP] hadoop이 여러 디렉토리와 파일에서 입력 받아 들일 수 있습니까?

HADOOP

hadoop이 여러 디렉토리와 파일에서 입력 받아 들일 수 있습니까?

fileinputFormat을 hadoop 입력으로 설정했습니다. arg [0] + "/ * / * / *"는 아무 파일과도 일치하지 않는다고 말했습니다.

내가 원하는 것은 여러 파일에서 읽는 것입니다 :

Directory1
---Directory11
   ---Directory111
        --f1.txt
        --f2.txt
---Directory12
Directory2
---Directory21

하둡에서 가능합니까? 감사!

해결법

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

    1.***** 연산자를 사용하여 여러 디렉토리 및 파일에서 입력을 가져올 수 있습니다. "arg [0]"인수가 올바르지 않아 파일을 찾지 못하기 때문에 가능성이 큽니다.

    ***** 연산자를 사용하여 여러 디렉토리 및 파일에서 입력을 가져올 수 있습니다. "arg [0]"인수가 올바르지 않아 파일을 찾지 못하기 때문에 가능성이 큽니다.

    대안으로, InputFormat.addInputPath를 사용할 수도 있고, 별도의 형식이나 매퍼가 필요한 경우 MultipleInputs 클래스를 사용할 수 있습니다.

    기본 경로 추가 예제

    FileInputFormat.addInputPath(job, myInputPath);
    

    다음은 MultipleInputs의 예입니다.

    MultipleInputs.addInputPath(job, inputPath1, TextInputFormat.class, MyMapper.class);
    MultipleInputs.addInputPath(job, inputPath2, TextInputFormat.class, MyOtherMapper.class);
    

    이 또 다른 질문은 매우 유사하며 좋은 대답을 가지고 있습니다. Hadoop은 여러 입력 형식을 줄입니다.

  2. from https://stackoverflow.com/questions/16445366/can-hadoop-take-input-from-multiple-directories-and-files by cc-by-sa and MIT license