[HADOOP] 어떻게 hadoop 순차 파일을 읽는가?
HADOOP어떻게 hadoop 순차 파일을 읽는가?
나는 hadoop map-reduce 작업의 결과물 인 순차 파일을 가지고있다. 이 파일에서 데이터는 키 값 쌍으로 작성되고 값 자체는 맵입니다. MAP 개체로 값을 읽고 더 처리 할 수 있도록하고 싶습니다.
Configuration config = new Configuration();
Path path = new Path("D:\\OSP\\sample_data\\data\\part-00000");
SequenceFile.Reader reader = new SequenceFile.Reader(FileSystem.get(config), path, config);
WritableComparable key = (WritableComparable) reader.getKeyClass().newInstance();
Writable value = (Writable) reader.getValueClass().newInstance();
long position = reader.getPosition();
while(reader.next(key,value))
{
System.out.println("Key is: "+textKey +" value is: "+val+"\n");
}
프로그램의 출력 : Key is : [this is key] 값은 {abc = 839177, xyz = 548498, lmn = 2, pqr = 1}
여기에 문자열로 가치를 얻고 있지만지도의 객체로 원합니다.
해결법
-
==============================
1.SequenceFile # next API 문서 확인 (쓰기 가능, 쓰기 가능)
SequenceFile # next API 문서 확인 (쓰기 가능, 쓰기 가능)
while(reader.next(key,value)) { System.out.println("Key is: "+textKey +" value is: "+val+"\n"); }
다음으로 대체되어야한다.
while(reader.next(key,value)) { System.out.println("Key is: "+key +" value is: "+value+"\n"); }
SequenceFile.Reader # getValueClassName을 사용하여 SequenceFile에서 값 유형을 가져옵니다. SequenceFile에는 파일 헤더에 키 / 값 유형이 있습니다.
from https://stackoverflow.com/questions/8265256/how-to-read-hadoop-sequential-file by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hadoop에서 HDFS 위치 란 무엇입니까? (0) | 2019.06.22 |
---|---|
[HADOOP] 값을 사용하여 스파크 결과 내림차순 튜플을 정렬하는 법 (0) | 2019.06.22 |
[HADOOP] 지도 뒤섞기를위한 셔플 및 정렬 (0) | 2019.06.22 |
[HADOOP] 하이브 쿼리가있는 Hadoop의 연속 레코드 간의 차이점 계산 (0) | 2019.06.22 |
[HADOOP] Hive를 사용하여 날짜 차이를 몇 분 만에 얻는 방법 (0) | 2019.06.22 |