2012-07-25 3 views
0

나는 hadoop mapreduce를 처음 사용합니다. 나는 소문자 파일의 텍스트를 변환하기위한 mapreduce 코드를 개발하고 싶다.하지만 파일의 앞부분과 같은 순서로 말이다. 단어 순서 데이터 시퀀스와 비슷한 것보다는 파일의 실제 순서를 의미한다. 나에게 어떤 생각을 줄 수 있는가?Hadoop에서만 사례를 공유 하시겠습니까?

+1

쿼리가 명확하지 않습니다. –

답변

1

< < LINENUMBER, UPPERCASEOFLINE >> 그래서, 각 라인의 상부 케이스는 (하나만 요소 목록) 감속기의 값이 될 것이다 다만 라인별로 파일 선 판독하고 키 값으로 출사 .

지금 당신이해야 할 감속기의 에 따라 값 (각 키에 대해 한 줄)을 방출하는 것입니다 그리고 당신은 NullWritable로 감속기 을 만들 수 있습니다.

매퍼의 LineNumber은 모든 라인 입력마다 한 번씩 1 씩 증가합니다. 또한 isSplitable()을 재정 의하여 false를 반환하면 하나의 파일을 하나의 매퍼로 완전히 처리 할 수 ​​있습니다.

+0

고객 레코드 판독기를 작성해야합니까? – FourOfAKind

0

주어진 텍스트를 hadoop map reduce 프로그램을 통해 대문자로 변환하는 중 같은 문제가 있습니다.

은 follwing을 내 매퍼 코드에서

public static class UpperCaseReducer extends MapReduceBase implements Reducer<Text,Text,Text,Text> 
    { 
     public void reduce(Text key,Iterator<Text> value,OutputCollector<Text, Text> output,Reporter rporter) throws IOException 
     { 
      //while(value.hasNext()) 
      { 
       String NULL= new String(); 
       //System.out.println(value.toString()); 
       output.collect(value.next(),new Text("")); 
      } 
     } 
    } 

, 난 그냥 대문자로 동일하게 변환 키와 원래의 선을 전달하는 것과 같은 입력 텍스트 라인과 라인으로 읽기 텍스트를 변환하고 내 감속기 코드입니다 내 매퍼 메서드의 값을 출력으로 사용합니다.

관련 문제