[HADOOP] 하둡 SequenceFile에의 InputStream
HADOOP하둡 SequenceFile에의 InputStream
나는 일련의 파일을 나타내는 일반적인 입력 스트림을 가지고있다. 나는 밖으로 디스크에 임시 파일로 출력 스트림을 쓸 필요로에서하는 SequenceFile.Reader, 또는 유사한 클래스를 생성하고 싶습니다. 내가 나를 InputStream로부터 키 / 값 쌍을 읽을 수 있도록 무언가에 입력 스트림에서 가고 싶은 무언가가있다.
해결법
-
==============================
1.몇 가지 이유를 들어, 현재 SequenceFile.Reader 클래스의 모든 문서가있을 나타나지 않지만 하둡 2.0의 코드를 통해보고, 나는 다음과 일하는 것이 생각 :
몇 가지 이유를 들어, 현재 SequenceFile.Reader 클래스의 모든 문서가있을 나타나지 않지만 하둡 2.0의 코드를 통해보고, 나는 다음과 일하는 것이 생각 :
FSDataInputStream inputStream = new FSDataInputStream (rawInputStream); Option isOption = SequenceFile.Reader.stream(inputStream); SequenceFile.Reader reader = new SequenceFile.Reader(hadoopConf,isOption);
옵션 시작하고 시작 시퀀스 파일을 읽기 전에 건너 뛸 얼마나 많은 바이트 길이, 길이가 스트림에서 읽을 얼마나 많은 바이트에서 당신은 또한에 관심이있을 수 있습니다. 그 독자는 다음과 같을 수 설정 :
FSDataInputStream inputStream = new FSDataInputStream (rawInputStream); Option isOption = SequenceFile.Reader.stream(inputStream); Option lengthOption = SequenceFile.Reader.length(100000); Option startOption = SequenceFile.Reader.start(10); SequenceFile.Reader reader = new SequenceFile.Reader(hadoopConf,isOption,lengthOption,startOption);
당신이 당신의 리더를 구축 한 후 마지막으로, 같은 당신의 가치를 읽을 수 있습니다 :
Text key = new Text(); Text val = new Text(); while (reader.next(key,val)) { //do stuff }
다시 말하지만, 나는 모든이 코드를 테스트하지 않은, 그러나 이것은 이론적으로 작동합니다. 당신은 하둡 2.0 이상을 사용하지 않는 경우에, 나는 당신에게 무엇을 모르겠어요.
from https://stackoverflow.com/questions/22919013/inputstream-to-hadoop-sequencefile by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 어떻게 하둡 시퀀스 파일의 크기를 제한하려면? (0) | 2019.10.02 |
---|---|
[HADOOP] 데이터 호수 스토어의 백업 (0) | 2019.10.02 |
[HADOOP] 만들기 및 하이브에 새 열을 업데이트 (0) | 2019.10.02 |
[HADOOP] 하둡 WordCount.java 종속성 문제 (0) | 2019.10.02 |
[HADOOP] 어떻게 자바에서 원격 원사 클러스터에 캐스 케이 딩 작업을 제출할 수 있습니까? (0) | 2019.10.02 |