2016-11-18 4 views
0

Hadoop 작업에 다소 적합한 다양한 데이터 형식에 대해 읽은 후에는 분할 가능한 컨테이너 형식이므로 Apache Avro가 좋은 옵션 인 것으로 보입니다.Hadoop을 사용하는 Big Data Analytics의 데이터 형식

그래서 하나는 HDFS에 저장할 수 이러한 브로 파일은 다음과 같은 것을 볼 수 있었다 :

{ 
    Header 
    Message1 
    Message2 
    Message3 
    .... 
} 

하둡 후 처리 할 수있을 것입니다 (그 메시지는 만약 IoT 장치에서 일부 원시 데이터를 표현) 서로 다른 노드에서 병렬로 Message1-3 (적어도 이것을 상상하는 방법입니다)

이제 내 질문 : 그 메시지에는 어떤 형식이든 사용할 수 있습니까? Protobuf 또는 여전히 메시지 자체에 Avro (분할 가능)를 사용하는 것이 이치에 맞습니까? 그렇게하는 데 어떤 이점이 있습니까? 귀하의 경험은 무엇입니까?

EDIT : 현재 원시 데이터에서 얻을 수있는 통찰력에 대한 구체적인 시나리오는 없습니다. 이 시스템은 현재 원시 데이터를 저장하고 분석은 1 ~ 2 년 후에 시작됩니다. 나는 단지 미래에 효과가있을 해결책을 원합니다.

답변

-2

Avro 형식은 키 - 값 쌍의 관점에서 JSON 형식으로 데이터 스키마를 저장하며 데이터의 실제 저장소 측면에서 직렬화 된 원시 바이너리 형식으로 저장합니다. 따라서 응용 프로그램에서 분할 가능하고 직렬화 된 저장소 요구 사항이있는 대용량 데이터 집합이 필요한 경우 작업 측면에서 avro도 함께 사용합니다. 신청서가 통계 집약적 인 경우 ORC2 또는 마루로 갈 수 있습니다. 귀하의 요구 사항에 따라 유스 케이스를 정교하게 답하십시오.

+0

위의 "Avro 형식은 위의 JSON 형식으로 데이터를 저장합니다."라는 말로 약간 혼란 스럽습니다. JSON에 저장되는 Avro 스키마와 압축 된 2 진 표현 (데이터가 작성 될 때 값당 오버 헤드가 발생하지 않도록)이 그대로입니다. –