2012-07-10 2 views
0

"The Hadoop에 대한 확실한 안내서"에 따르면 입력 형식 TextInputFormat(k, v) = (byte offset, line) 키 값 쌍을 제공합니다. 그러나 MRJob에서 매퍼 입력의 키는 항상 None입니다. 바이트 오프셋을 키로 가져 오는 것은 쉽습니다. 그 이유는 이것이 TextInputFormat이하는 일이기 때문입니다. 어떻게해야합니까?MRJob으로 바이트 오프셋 가져 오기

환경 변수 'map_input_start'를 사용하여 직접 바이트 오프셋을 계산할 수 있다는 것을 알고 있지만 문제가 발생했으며이를 오프셋으로 키로 가져 오는 것이 훨씬 간단합니다.

답변

0

다음 서명으로 매퍼 클래스의 맵 메서드를 정의하지 않으면 바이트 오프셋이 키로 제공됩니다.

public void map(LongWritable key,Text value,OutputCollector<>,Reporter) 
+0

MRJob은 Hadoop 스트리밍을 사용하는 Python 라이브러리입니다. Java 코드를 망치지 않기를 바랬습니다. –

0

TextInputFormat은 Java 클래스이며 스트리밍 환경에서 어떻게 작동하는지 알지 못합니다.

관련 문제