Streaming 방식으로 Map/Reduce를 할 때 대상이 될 원본데이터 파일을 여러개 지정하는 방법을 자꾸 까먹어서 적어둠.


보통 아래와 같은 명령어로 Map/Reduce를 실행하게 되는데,


$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/contrib/streaming/hadoop-streaming-1.0.0.jar

-input $HADOOP_DATA_ROOT/rawdata.dat

-output $HADOOP_RESULT_ROOT

-mapper $MAPPER

-reducer $REDUCER




대상 원본데이터 파일이 여러개일 경우엔 그냥 -input 을 여러개 지정하면 됨.

만약 번호로 나뉘어진 데이터이고 1~3번 까지 있다면,


-input $HADOOP_DATA_ROOT/rawdata_1.dat

-input $HADOOP_DATA_ROOT/rawdata_2.dat

-input $HADDOP_DATA_ROOT/rawdata_3.dat


이렇게 지정하면 됨.



만약 와일드카드 문자를 통해 필터링이 가능한 규칙으로 되어 있다면 그대로 사용하는 게 더 좋음


-input $HADOOP_DATA_ROOT/rawdata_*.dat


이렇게.





Posted by bloodguy
,