[HADOOP] Hadoop의 시퀀스 파일
HADOOPHadoop의 시퀀스 파일
이 시퀀스 파일은 어떻게 생성됩니까? 시퀀스 파일에 대한 링크를 여기에서 보았습니다.
http://wiki.apache.org/hadoop/SequenceFile
이것들은 기본 Java serializer를 사용하여 작성 되었습니까? 시퀀스 파일을 읽으려면 어떻게해야합니까?
해결법
-
==============================
1.시퀀스 파일은 MapReduce 작업에 의해 생성되며 MapReduce 작업간에 데이터를 전송하기위한 공통 형식으로 사용할 수 있습니다.
시퀀스 파일은 MapReduce 작업에 의해 생성되며 MapReduce 작업간에 데이터를 전송하기위한 공통 형식으로 사용할 수 있습니다.
다음과 같은 방법으로 읽을 수 있습니다.
Configuration config = new Configuration(); Path path = new Path(PATH_TO_YOUR_FILE); SequenceFile.Reader reader = new SequenceFile.Reader(FileSystem.get(config), path, config); WritableComparable key = (WritableComparable) reader.getKeyClass().newInstance(); Writable value = (Writable) reader.getValueClass().newInstance(); while (reader.next(key, value)) // perform some operating reader.close();
또한 SequenceFile.Writer를 사용하여 직접 시퀀스 파일을 생성 할 수 있습니다.
이 예제에 사용 된 클래스는 다음과 같습니다.
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSystem; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.SequenceFile; import org.apache.hadoop.io.Writable; import org.apache.hadoop.io.WritableComparable;
그리고 hadoop-core 메이븐 의존성에 포함되어있다.
<dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-core</artifactId> <version>1.2.1</version> </dependency>
-
==============================
2.Lev Khomich의 대답 덕분에 문제가 해결되었습니다.
Lev Khomich의 대답 덕분에 문제가 해결되었습니다.
그러나이 솔루션은 잠시 사용이 중단되었으며 새 API는 더 많은 기능과 사용 편의성을 제공합니다.
hadoop.io.SequenceFile의 소스 코드를 확인하려면 여기를 클릭하십시오.
Configuration config = new Configuration(); Path path = new Path("/Users/myuser/sequencefile"); SequenceFile.Reader reader = new Reader(config, Reader.file(path)); WritableComparable key = (WritableComparable) reader.getKeyClass() .newInstance(); Writable value = (Writable) reader.getValueClass().newInstance(); while (reader.next(key, value)) { System.out.println(key); System.out.println(value); System.out.println("------------------------"); } reader.close();
추가 정보, Nutch / injector에 의해 생성 된 데이터 파일에 대해 실행되는 샘플 출력은 다음과 같습니다.
------------------------ https://wiki.openoffice.org/wiki/Ru/FAQ Version: 7 Status: 1 (db_unfetched) Fetch time: Sun Apr 13 16:12:59 MDT 2014 Modified time: Wed Dec 31 17:00:00 MST 1969 Retries since fetch: 0 Retry interval: 2592000 seconds (30 days) Score: 1.0 Signature: null Metadata: ------------------------ https://www.bankhapoalim.co.il/ Version: 7 Status: 1 (db_unfetched) Fetch time: Sun Apr 13 16:12:59 MDT 2014 Modified time: Wed Dec 31 17:00:00 MST 1969 Retries since fetch: 0 Retry interval: 2592000 seconds (30 days) Score: 1.0 Signature: null Metadata:
감사!
from https://stackoverflow.com/questions/5096128/sequence-files-in-hadoop by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] 로그 분석을위한 Amazon MapReduce 모범 사례 (0) | 2019.07.12 |
---|---|
[HADOOP] 매번 bash_profile을 소스 화해야하는 이유는 무엇입니까? (0) | 2019.07.12 |
[HADOOP] Hive의 쉼표로 구분 된 값의 열 (0) | 2019.07.12 |
[HADOOP] hadoop 작업 트래커 시작 오류 (0) | 2019.07.12 |
[HADOOP] Hadoop에서의 RecordReader 작업 (0) | 2019.07.12 |