본문 바로가기

보물창고/Big Data

hadoop streaming 소개

반응형





hadoop streaming 소개 

영문 원문 주소

http://hadoop.apache.org/docs/stable/streaming.html


위 영문 문서 위쪽 기본 내용을 번역 했습니다





관련된 다른 글

hadoop streaming 소개

Hadoop Streaming 구조

HDInsight hadoop streaming C# map reduce test







Hadoop streaming


하둡 스트리밍은 Hadoop배포와 함께 제공되는 유틸리티입니다

이 유틸리티는 당신이 스크립트 또는 실행 파일로 만든 mapper 및 reduce로 Map/Reduce job을 작성하고 실행할 수 있습니다



$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar -input myInputDirs -output myOutputDir -mapper /bin/cat -reducer /bin/wc



How Streaming Works


위의 예에서, mapper과 reduce모두 stin(line by line)으로 입력을 읽고 stdout으로 출력을 실행합니다

이 유틸리티는 Map/Reduce job을 만듭니다

적절한 클러스터 job을 제출하고 완료 될 때까지 진행 상황을 모니터링 할 수 있습니다


mappers에 실행 파일이 지정된 경우, 각 mapper 테스크는 mapper를 초기화하는 별도의 프로세스로 실행 파일을 실행 합니다

mapper 테스크가 실행되면서, line으로 입력을 변환하고 프로세스의 stdin으로 line를 feed합니다.

한편 mapper는 mapper 프로세스의 stdout에서 line으로 출력을 모으고 key/value쌍으로 각 행을 변환후 mapper의 출력으로 모입니다

기본적으로, 탭 문자를 기준으로 앞쪽은 key이고 뒤쪽은 value가 될 것입니다(탭 문자 제외)

line에 탭 문자가 없는 경우, 전체 line을 key로 간주하고 value는 null입니다

나중에 설명하지만 사용자가 정의할 수도 있습니다


reduce에 실행 파일이 지정된 경우, 각 reduce 테스크는 reducer을 초기화 하는 별도의 프로세스로 실행파일을 실행 합니다

reducer 테스크가 실행되면서 line에 입력 key/value 쌍으로 변환하고 프로세스의 stdin입력으로 line를 feed합니다

한편, reducer는 프로세스의 stdout에 line형식으로 출력을 모으고 key/value쌍으로 각 행을 변환 후 reduce의 출력이 모입니다

기본적으로, 탭 문자를 기준으로 앞쪽은 key이고 뒤쪽은 value가 될 것입니다(탭 문자 제외)

나중에 설명하지만 사용자가 정의할 수도 있습니다


이 Map/Reduce프레임 워크 및 스트리밍 maper/reducer사이의 통신프로토콜의 기초 입니다







출처 : http://chiangbing.blogspot.kr/

key,value 데이이터가 mapper로 가면 hadoop streaming로 key + \t + value형식으로 변환되어 STDIN으로 map.exe에 전달이 됩니다 map.exe는 연산 후 STDOUT으로 key + \t + value 형식으로 출력하면 mapper는 key,value로 변환 후 정렬과 병합 과정을 거치고 reducer로 전달이 됩니다

reduce는 hadoop streaming으로 key + \t + value형식으로 변환된 데이터를 STDIN reduce.exe로 전달합니다 reduce.exe는 연산 후 STDOUT으로 key + \t + value 형식으로 출력하면 reduce는 key,value로 변환 후 output데이터를 만듭니다

반응형