[HADOOP] Hadoop Writable과 java.io.serialization의 연결 및 차이점은 무엇입니까?
HADOOPHadoop Writable과 java.io.serialization의 연결 및 차이점은 무엇입니까?
Writable 인터페이스를 구현하기 위해 Hadoop에서 객체를 직렬화 할 수 있습니다. 그렇다면 Hadoop Writable과 java.io.serialization의 관련성과 차이점은 무엇입니까?
해결법
-
==============================
1.Java Serializable
Java Serializable
Serializable은 저장된 값의 클래스가 알려져 있다고 가정하지 않고 해당 클래스에 인스턴스를 태그 지정합니다. 클래스 이름, 필드 이름 및 유형 및 해당 수퍼 클래스를 포함하는 객체에 대한 메타 데이터를 씁니다. ObjectOutputStream과 ObjectInputStream은이를 다소 최적화하여 첫 번째 클래스 다음에 클래스의 인스턴스에 대해 5 바이트 핸들을 작성합니다. 그러나 핸들이있는 객체 시퀀스는 스트림 상태에 의존하기 때문에 무작위로 액세스 할 수 없습니다. 이것은 정렬과 같은 것을 복잡하게합니다.
Hadoop Writable
"Writable"을 정의하는 동안 예상되는 클래스를 알 수 있습니다. 따라서 Writable은 직렬화 된 형식으로 형식을 저장하지 않습니다. 역 직렬화하는 동안 예상되는 내용을 알 수 있습니다. 예 : 입력 키가 LongWritable의 경우, 빈 상태 (empty)의 LongWritable 인스턴스는 입력 데이터 스트림으로부터 스스로를 생성하도록 (듯이) 요구됩니다. 메타 정보를 저장할 필요가 없으므로 (클래스 이름, 필드, 유형, 수퍼 클래스)이 바이너리 파일은 훨씬 더 단순한 무작위 액세스와 높은 성능을 제공합니다.
좋은 읽을 거리 :
Java Serializable의 경우 :
Hadoop Writable
-
==============================
2.Doug Cutting의 말 :
Doug Cutting의 말 :
한 번이 스레드를 통과해야합니다.
from https://stackoverflow.com/questions/16836607/what-are-the-connections-and-differences-between-hadoop-writable-and-java-io-ser by cc-by-sa and MIT license
'HADOOP' 카테고리의 다른 글
[HADOOP] Hiveserver2 Thrift Java 클라이언트를 사용할 때 요청이 중단됨 (0) | 2019.06.04 |
---|---|
[HADOOP] HDFS에서 N 일보다 오래된 디렉토리 찾기 (0) | 2019.06.04 |
[HADOOP] 일식에서 mapreduce 일을 시작하십시오 (0) | 2019.06.04 |
[HADOOP] Hadoop-common, Hadoop-core 및 Hadoop-client의 차이점은 무엇입니까? (0) | 2019.06.04 |
[HADOOP] Hadoop : 그러한 메소드 예외 없음 (0) | 2019.06.04 |