빅데이터공부하기 31-2 WordCount 의사코드
지난글에 이어서 WordCount의사코드에 대해 공부하겠습니다.
빅데이터공부는 ORACLEJAVA IT공부하자에서 하세요 ^--^
WordCount의사코드
public static class Map extends Mapper<LongWritable, Text, Text, LongWritable> 1 2
{
private final static LongWriable one = new LongWriable(1);
private Text word = new Text();
3
public void map(LongWriable key, Text value, Context context)
throws IOException, InterruptedException
{
String Iine = value.toString();
String Tokenizer tokenizer = new String Tokenizer(line, " , "\t\r\n\f |,.\"");
while (tokenizer.hasMore Tokens())
{
word set(tokenizer.nextToken().toLowerCase());
context.wrie(word, one); 4
}
}
1. 입력레코드의 키, 밸류 타입은 인풋포맷이 결정하며 앞서 main에서 보면 TextlnputFormat을 사용. LongWritable, Text등은 자바의 Long과 String 타입의 하둡용 랩퍼.
2. 출력레코드의 키, 밸류 타입은 Text, LongWriable인 데 이건 프레임웍에 의해 소팅, 셔플링이 된다음에 reducer로 넘어간다.
3. map 메소드내에서 사용할 변수를 두개 미리 만들어둔다.
4. map 메소드는 밸류로 넘어온 텍스트 파일의 라인을 String Tokenizer 클래스를 이용해 파싱한 다음 각 단어들을 하나씩 프레임웍으로 넘긴다.
(키는 단어, 밸류는 1)
빅데이터공부하기 31-2 WordCount 의사코드
'빅데이터 > 빅데이터Hadoop' 카테고리의 다른 글
빅데이터공부하기 32-1 MapReduce (0) | 2014.08.13 |
---|---|
빅데이터공부하기 32 Map Reduce 프로그래밍 (0) | 2014.08.13 |
빅데이터공부하기 31-1 WordCount 의사코드 (0) | 2014.08.11 |
빅데이터 공부하기 31 ◆ WordCount 의사코드 (0) | 2014.08.06 |
빅데이터 공부하기 30 ◆ Scheduler (0) | 2014.08.01 |