복붙노트

[HADOOP] 아브로 대 여기 엔 나무 마루

HADOOP

아브로 대 여기 엔 나무 마루

내 hadoop 관련 프로젝트에 대해 hadoop 파일 형식 중 하나를 사용할 계획입니다. 필자는 마루가 열 기반 쿼리 및 전체 스캔을위한 avro 또는 모든 열 데이터가 필요할 때 효율적이라는 것을 알고 있습니다!

계속 진행하고 파일 형식 중 하나를 선택하기 전에 서로의 단점 / 단점을 이해하고 싶습니다. 누구든지 간단히 설명해 줄 수 있습니까?

해결법

  1. ==============================

    1.아직 결정하지 않았다면 데이터에 대한 Avro 스키마를 작성해 보겠습니다. 일단 완료되면, Avro 컨테이너 파일과 마루 파일 중에서 선택하는 것은 예를 들어,

    아직 결정하지 않았다면 데이터에 대한 Avro 스키마를 작성해 보겠습니다. 일단 완료되면, Avro 컨테이너 파일과 마루 파일 중에서 선택하는 것은 예를 들어,

    job.setOutputFormatClass(AvroKeyOutputFormat.class);
    AvroJob.setOutputKeySchema(MyAvroType.getClassSchema());
    

    ...에 대한

    job.setOutputFormatClass(AvroParquetOutputFormat.class);
    AvroParquetOutputFormat.setSchema(job, MyAvroType.getClassSchema());
    

    Parquet 포맷은 쓰기 측면에서 계산 상 많은 양이 소요되는 것처럼 보입니다. 예를 들어 버퍼링을 위해 RAM이 필요하고 데이터를 주문하는 데 CPU가 필요하지만 효율적인 I / O, 저장 및 전송 비용을 줄여야합니다. 특히 열의 일부만 처리하는 SQL과 같은 (예 : Hive 또는 SparkSQL) 쿼리를 읽습니다.

    한 프로젝트에서 스키마가 너무 광범위하고 중첩되어 (일부 계층 적 객체 지향 클래스에서 파생 됨) 파르 케 (Perquet) 열에서 1000 개의 결과를 얻었 기 때문에 Parquet에서 Avro 컨테이너로 되돌아갔습니다. 차례대로, 우리의 행 그룹은 실제로는 넓고 얕았습니다. 이것은 각 그룹의 마지막 열에서 소수의 행을 처리하기 전에 영원히 필요하다는 것을 의미했습니다.

    나는 더 많은 정규화 된 / 정상적인 데이터를 얻기 위해 마루를 사용할 기회가별로 없지만 잘 사용된다면 성능이 크게 향상된다는 것을 알고 있습니다.

  2. ==============================

    2.Avro는 행 기반 형식입니다. 데이터를 전체적으로 검색하려면 Avro를 사용할 수 있습니다

    Avro는 행 기반 형식입니다. 데이터를 전체적으로 검색하려면 Avro를 사용할 수 있습니다

    쪽모이도는 열 기반 형식입니다. 데이터가 많은 컬럼으로 구성되었지만 컬럼의 서브 세트에 관심이 있다면, 마루판을 사용할 수 있습니다

    HBase는 데이터가 자주 업데이트 될 때 유용합니다. Avro는 검색 속도가 빠르며 마루가 훨씬 빠릅니다.

  3. ==============================

    3.유로

    유로

    마루

    HDFS 데이터 스토리지 포맷 선택하기 - Avro vs. Parquet 및 기타

  4. ==============================

    4.두 형식의 사용은 사용 사례에 따라 다릅니다. 3 가지 요소를 토대로 우리는 우리의 경우에 선택할 형식을 선택할 수 있습니다.

    두 형식의 사용은 사용 사례에 따라 다릅니다. 3 가지 요소를 토대로 우리는 우리의 경우에 선택할 형식을 선택할 수 있습니다.

  5. ==============================

    5.너의 이해가 옳다. 실제로 우리는 DWH에서 데이터 마이그레이션 중에 비슷한 상황에 처했습니다. 우리가 얻은 디스크 절약 효과가 Avro에서 얻은 것보다 거의 두 배가 되었기 때문에 Avro보다 Parquet을 선택했습니다. 또한 쿼리 처리 시간이 Avro보다 훨씬 낫습니다. 그러나 예, 쿼리는 집계, 열 기반 연산 등을 기반으로 했으므로 Parquet은 분명히 확실한 승자였습니다.

    너의 이해가 옳다. 실제로 우리는 DWH에서 데이터 마이그레이션 중에 비슷한 상황에 처했습니다. 우리가 얻은 디스크 절약 효과가 Avro에서 얻은 것보다 거의 두 배가 되었기 때문에 Avro보다 Parquet을 선택했습니다. 또한 쿼리 처리 시간이 Avro보다 훨씬 낫습니다. 그러나 예, 쿼리는 집계, 열 기반 연산 등을 기반으로 했으므로 Parquet은 분명히 확실한 승자였습니다.

    우리는 CDH 배포판에서 하이브 0.12를 사용하고 있습니다. 하이브 + 파르 케 (Hive + Pirquet)에 문제가 있다고 언급하셨습니까? 그게 뭐죠? 우리는 어떤 것도 만나지 않았다.

  6. ==============================

    6.Silver Blaze는 예제 사용 사례를 잘 설명하고 Parquet이 어떻게 그에게 가장 적합한 선택인지 설명했습니다. 요구 사항에 따라 하나씩 고려하는 것이 좋습니다. 시간 공간 복잡성 비교와 함께 다른 다른 파일 형식에 대한 간략한 설명도 올리고 있습니다. 희망이 도움이됩니다.

    Silver Blaze는 예제 사용 사례를 잘 설명하고 Parquet이 어떻게 그에게 가장 적합한 선택인지 설명했습니다. 요구 사항에 따라 하나씩 고려하는 것이 좋습니다. 시간 공간 복잡성 비교와 함께 다른 다른 파일 형식에 대한 간략한 설명도 올리고 있습니다. 희망이 도움이됩니다.

    하이브에서 사용할 수있는 파일 형식이 많이 있습니다. 주목할만한 언급은 AVRO, Parquet입니다. RC 파일 및 ORC. 이러한 파일 형식의 성능과 공간 활용도를 비교하려는 경우 참조 할 수있는 온라인에서 사용할 수있는 좋은 문서가 몇 가지 있습니다. 몇 가지 유용한 링크를 따라 가면됩니다.

    이 블로그 포스트

    MapR에서이 링크 [그들은 마루를 토론하지 않는다]

    Inquidia에서 링크

    위의 주어진 링크가 당신을 얻을 것이다. 이 답변에 귀하의 쿼리 바랍니다.

    감사!

  7. ==============================

    7.Parquet에 대한 설명을 보려면 다음을 참조하십시오. http://bigdata.devcodenote.com/2015/04/parquet-file-format.html

    Parquet에 대한 설명을 보려면 다음을 참조하십시오. http://bigdata.devcodenote.com/2015/04/parquet-file-format.html

    저는 Avro와 2의 비교를 아주 빨리 작성하려고합니다. 한번 끝나면 여기에 올리겠습니다.

  8. from https://stackoverflow.com/questions/28957291/avro-vs-parquet by cc-by-sa and MIT license