2017-03-29 2 views
0

내 응용 프로그램에서지도지도의지도에 대한 Avro 스키마 (4 레벨 중첩 된지도)를 정의해야한다는 요구 사항이 있습니다. 마지막지도 (최종 내부지도)를 제외한 모든 레벨에서 키를 사용하고 있습니다. 나는 스키마의 장단점을 알고 싶다. 성능에 문제가 있습니까?Avro 스키마의지도지도의지도

+0

불가능에 대한 간단한 스키마와 함께 종료됩니다. 그것은 데이터에 따라 다릅니다. 4 레벨 맵은 꼭 필요한 경우에만 문제가되는 것은 아닙니다. – Michael

+0

응용 프로그램의 성능은 어떻습니까? –

답변

0

항상 중첩 된 맵을 사용하지 마십시오.

AVRO 파일 형식은 스키마 기반입니다. 중첩 된 맵을 사용하면 스키마를 설계하기가 어려워집니다. 또한 avro는 직렬화 기술을 기반으로합니다. "String"을 사용하여 작업한다면 잘 작동하지만 다른 데이터 유형의 경우에는 작동하지 않습니다.

+0

스키마 디자인에는 문제가 없습니다. 나는 이미 스키마를 디자인했다. 하지만 이것에 대한 장단점을 알고 싶습니다. –

+0

성능 저하입니다. 탈 직렬화가 진행되는 동안 매번 객체가 재생성됩니다. 중첩 된지도를 사용하는 경우 동일한지도를 다시 만드는 것이 얼마나 힘든지 생각해보십시오. – Vijayakumar

0

스키마 맵 >>을 선택하면 주어진 키에 많은 가치가 있음을 의미합니다.

마루와 같은 칼럼 데이터 저장소를 찾기 시작해야하는 고전적인 사례입니다.

AVRO와 마루를 섞어서 Avro 스키마를 평평하게하십시오.

쪽모 세공은 칼럼 형식 데이터 형식이므로 반복되는 데이터를 여러 번 저장하지 않고 한 번만 저장합니다.

ORC를 사용하면 대답하기 아브

http://bytepadding.com/big-data/spark/read-write-parquet-files-using-spark/