[HADOOP] context.write (k, v)에서 값을 출력하는 방법
HADOOPcontext.write (k, v)에서 값을 출력하는 방법
내 mapreduce 작업에서 일부 줄을 출력하고 싶습니다.
그러나 내가 이렇게 코딩하면 : context.write (data, null);
프로그램은 java.lang.NullPointerException을 발생시킵니다.
아래처럼 코딩하고 싶지 않습니다. context.write (data, 새 텍스트 ( ""));
출력 파일의 모든 줄에서 빈 공간을 잘라야하기 때문입니다.
그것을 해결하는 좋은 방법이 있습니까? 미리 감사드립니다.
미안, 내 실수 야 프로그램을주의 깊게 확인한 이유는 감속기를 결합기로 설정했기 때문입니다.
결합기를 사용하지 않으면 context.write (data, null); 감속기에서 잘 작동합니다. 출력 데이터 파일에는 데이터 라인 만 있습니다.
hadoop 결정적인 가이드에서 NullWritable 설명을 공유하십시오.
NullWritable은 길이가 0 인 직렬화이므로 쓰기 가능한 특수 유형입니다. 바이트 없음 스트림에 쓰거나 읽습니다. 자리 표시 자로 사용됩니다. 예를 들어 필요하지 않은 경우 MapReduce, 키 또는 값을 NullWritable로 선언 할 수 있습니다 이 위치를 사용하기 위해 빈 값을 일정하게 저장합니다. NullWritable도 가능 반대로 값 목록을 저장하려는 경우 SequenceFile의 키로 유용합니다. 키-값 쌍. 불변의 싱글 톤입니다. 인스턴스를 호출하여 검색 할 수 있습니다 NullWritable.get ().
해결법
-
==============================
1.이 목적으로 NullWritable을 사용해야합니다.
이 목적으로 NullWritable을 사용해야합니다.
from https://stackoverflow.com/questions/15899705/how-to-just-output-value-in-context-writek-v by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop : 키-값 쌍의 값으로 double 배열을 어떻게 가질 수 있습니까? (0) | 2019.09.10 |
---|---|
[HADOOP] Map4 및 Reducer 로그를 파일에 추가하지 않는 Log4j RollingFileAppender (0) | 2019.09.10 |
[HADOOP] 별개의 커플 (쌍)을 필터링하는 방법 (0) | 2019.09.10 |
[HADOOP] 하둡 버퍼링 vs 스트리밍 (0) | 2019.09.10 |
[HADOOP] HIVE JDBC ThriftHive $ Client.sendBase (0) | 2019.09.10 |