빅데이터공부하기60
스트리밍
- 하둡은 자바이외의 언어로 MapReduce 프로그램을 작성가능하게 해주는 API제공
: 하둡패키지의 일부로 제공되는 contrib / streaming / hadoop-streming-1.0.3.jar을 사용
- Mapper task 혹은 reducer task는 mapper 혹은 reducer 스크립트를 자식프로세스로 실행하고 표준 입출력을 통해 통신을 수행
- 텍스트 프로세싱에 적합
: 텍스트 라인 하나가 결국 하나의 입력 레코드로 취급됨. 이것의 해석은 mapper에 달림
: Mapper의 출력이나 Reducer의 입출력은 모두 tab을 키와 밸류간의 delimiter로 사용. tab 이외의 문자도 사용가능(configurable)
: 이는 내부적으로 디폴트로 자바의 TextlnputFormat과 TextOutputFormat을 사용하기 때문
- Reducer의 경우 입력키에 대해 같은 값을 갖는 밸류리스트가 한라인으로 한번에 넘어오는 것이 아니라 Flatten되어 개별 쌍이 넘어옴
: reduce(k, [v1, v2, v3])이 아니라 "reduce(k1, v1), reduce(k1, v2), reduce(k1, v3)"의 형태가 됨
- 단순 셀유틸리티들로 Streaming을 쉽게 테스트가능
: cat 입력파일 |your_mapper_script|sort|your_reducer_script
- 카운터의 경우는 stderr로 특별히 포맷된 문자를 출력하면 가능.
: Python에서의 예 : sys.stdrr.write("reporter:counter.그룹이름, 카운터이름, 카운터증가수\n")
- 자바에서 쓸 수 있는 거의 모든 기능들이 Streaming에서도 가능
: Combiner, Partitioner, IdentityReducer 등등..
'빅데이터 > 빅데이터Hadoop' 카테고리의 다른 글
빅데이터 공부하기 62. map.pl / reduce.pl (0) | 2015.06.25 |
---|---|
빅데이터공부하기 61. map.py / reduce.py (0) | 2015.06.24 |
빅데이터공부하기 59_4 INVERTED INDEX V3 (0) | 2014.12.10 |
빅데이터공부하기 59_3 INVERTED INDEX V3 (0) | 2014.12.08 |
빅데이터공부하기 59_2 INVERTED INDEX V2 (0) | 2014.12.08 |