>

Hadoop이 왜이 새로운 클래스를 소개해야합니까? 인터페이스가 복잡해 보입니다

  • 답변 # 1

    하둡 방식으로 객체를 처리하기 위해. 예를 들어, hadoop은 Text 를 사용합니다  자바의 String 대신 . 와이즈 비즈  hadoop의 클래스는 Java Text 와 유사합니다. 그러나 String   Text 와 같은 인터페이스를 구현 Comparable  그리고 Writable .

    이 인터페이스는 모두 MapReduce에 필요합니다. WritableComparable  인터페이스는 감속기가 키를 정렬 할 때를 비교하는 데 사용되며 Comparable  결과를 로컬 디스크에 쓸 수 있습니다. 자바 Writable 를 사용하지 않습니다  자바 Serializable 때문에  hadoop, Serializable 에 비해 너무 크거나 너무 무겁습니다.  hadoop 오브젝트를 매우 가벼운 방식으로 직렬화 할 수 있습니다.

  • 답변 # 2

    빅 데이터 세계에서 네트워크를 통해 이동하거나 클러스터의 디스크에 유지하려면 구조화 된 객체를 바이트 스트림으로 직렬화 한 다음 필요에 따라 역 직렬화해야합니다. Facebook 스케일과 같이 방대한 양의 데이터가 저장 및 이동하는 경우 데이터는 효율적이어야하며 저장하는 데 필요한 공간과 가능한 한 적은 시간이 필요합니다.

    Writable  그리고 String  단순히 "지방"입니다. 와이즈 비즈  그리고 Integer , 같은 유형의 정보를 나타내는 바이트 배열 위에 훨씬 더 쉬운 추상화를 제공합니다.

  • 답변 # 3

    Apache 문서 페이지에서 :

    Text  인터페이스는

    와이즈 비즈 와이즈 비즈  그리고 IntWritable .

    이 새로운 API는 합병증이 없습니다. 이 새로운 클래스를 사용한 직렬화 프로세스는 Writable 입니다.  그리고

    A serializable object which implements asimple, efficient, serialization protocol, based on .

    하둡의 효율성을 위해 직렬화/역 직렬화 프로세스는 클러스터의 노드간에 수많은 원격 호출이 발생하므로 최적화해야합니다. 따라서 직렬화 형식은빠르고 콤팩트하며 확장 가능하며 상호 운용 가능이어야합니다. 이러한 이유로 Hadoop 프레임 워크는 Java 기본 데이터 유형을 대체하기 위해 하나의 IO 클래스를 제공합니다. 예 : 와이즈 비즈   DataInput 를 위해 DataOutput   crisp 를 위해 compact   IntWritbale 를 위해  등.

    이 주제에 대한 자세한 내용은Hadoop 최종 가이드 : 제 4 판

    에서 확인하십시오.

    S

    더 좋은 정보 :

    관련된 두 가지 기능이 있습니다

    "Writable"인터페이스를 가지고 있습니다. DataOutput 스트림에 쓰고 DataInput 스트림에서 읽는 방법을 알고 있습니다.

    그들은 set () 작업을 통해 내용을 업데이트합니다. 이를 통해 새 인스턴스를 만들지 않고도 동일한 값을 반복해서 재사용 할 수 있습니다. 동일한 매퍼 또는 감속기를 반복해서 호출하면 훨씬 더 효율적입니다. 생성자에서 쓰기 가능 인스턴스를 만들어 재사용 할 수 있습니다

    비교해 보면, Java의 Serializable 프레임 워크는 객체를 "매직 적으로"직렬화하지만 약간 취해져 일반적으로 이전 버전의 클래스에서 생성 된 값으로는 읽을 수없는 방식으로 수행합니다. Java 객체 스트림은 객체의 그래프를 다시 보내도록 설계되었습니다. 이미 푸시 된 모든 객체 참조를 기억해야하며, 도중에 동일한 작업을 수행해야합니다. 쓰기 가능 파일은 자체 포함되도록 설계되었습니다.

    이것은 http://hortonworks.com/community/forums/topic/why-hadoop-uses-default-longwritable-or-intwritable/에서 온 것입니다

    int

  • 이전 sql - 공통 열을 식별하기 위해 별명을 사용하지 마십시오
  • 다음 session - Facebook 앱은 모든 브라우저에서 작동하지만 IE8에서는 작동하지 않습니다