2017-04-10 1 views

답변

11

GZIP 압축을 사용하는 파킹 파일은 실제로 분할 가능합니다. 이것은 Parquet 파일의 내부 레이아웃 때문입니다. 이들은 항상 사용 가능한 압축 알고리즘과 독립적으로 분할 가능합니다.

이 사실은 다음과 같은 부분으로 나누어 마루 파일의 디자인에 주로 기인한다 :

  1. 각 마루 파일이 여러 RowGroups 구성이는 HDFS 블록 크기와 같은 크기이어야한다.
  2. 각 RowGroup은 열당 ColumnChunk로 구성됩니다. RowGroup의 각 ColumnChunk에는 같은 수의 행이 있습니다.
  3. ColumnChunks는 Pages로 분할됩니다.이 크기는 64KB에서 16MB 크기입니다. 압축은 페이지 단위로 수행되며이므로 페이지는 작업이 처리 할 수있는 가장 낮은 수준의 병렬 처리입니다.

당신은 여기에 대한 자세한 설명은 찾을 수 귀하의 답변에 대한 https://github.com/apache/parquet-format#file-format

+1

감사합니다. 그냥 확인하고 싶어. 이 파일들은 기술적으로 .gz.parquet 파일 일 것이고 parquet.gz 파일은 아닙니다, 맞습니까? Microsoft Polybase와 같은 제품은 외부에서 마루판 형식으로 데이터를 내보낼 때 .gz 파일을 생성하며 자체 또는 파일 청크 내부에서 압축 된 파일인지 아직 확인하지 않았습니다. – YuGagarin

+3

예, 'gz.parquet' 여야합니다. 압축은 쪽모이 세공의 내부에서 이루어져야한다. 처음에는 마루를 생성하고 그 위에 GZIP를 실행하는 도구가있는 경우 실제로는 여기 엔 잘못된 파케 파일입니다. 파켓의 경우 형식의 일부가 압축되지 않는 것이 필수적입니다 (예 : 헤더). 이 부품들은 작고 (종종 약 1-2 개의 KiB) 압축하면 성능이 크게 저하됩니다. – xhochy

관련 문제