2011-03-12 6 views
0

시퀀스 파일로 HDFS에 업로드해야하는 데이터 유형이 있습니다.런타임시 시퀀스 파일에 대한 값 클래스 만들기

처음에는 스키마 유형에 따라 런타임시 .jr 파일을 만들고 Hadoop의 rcc DDL 도구를 사용하여 이러한 클래스를 만들고 사용하는 방법을 생각했습니다.

하지만 rcc 설명서를 보면 사용되지 않는 것으로 나타났습니다. 나는 데이터의 유형마다 이러한 가치 클래스를 만들어야 만하는 다른 옵션을 알아 내려고 노력했다.

이것은 데이터 스트림과 함께 런타임에로드 할 데이터의 메타 데이터를 알게되어 문제가됩니다. 그래서, 선택의 여지가 있지만 런타임에 Value 클래스를 만든 다음 SequenceFile.Writer에 키 (vale)를 쓰고 마지막으로 HDFS에 저장하는 데이 클래스를 사용합니다. 누군가가 염두에 대한 모든 솔루션이있는 경우

, 정말 감사합니다, JJ app 해당합니다

답변

0

당신은 Protocol Buffers, Thrift, 또는 Avro 같은 다른 직렬화 프레임 워크를 찾고 시도 할 수 있습니다. 먼저 정적 코드 생성이 필요하지 않으므로 Avro를 먼저보고 싶을 수도 있습니다.

정말 빠르고 더러운 것을 원하면 SequenceFile의 각 레코드는 키/값이 필드 이름과 값인 HashMap이 될 수 있습니다.

관련 문제