Articles

Parquet

Posted on

Parquet è un formato di file open source disponibile per qualsiasi progetto nell’ecosistema Hadoop. Apache Parquet è progettato per un efficiente e performante formato di archiviazione dei dati a colonne piatte rispetto ai file basati su righe come i file CSV o TSV.

Parquet utilizza l’algoritmo di triturazione e assemblaggio dei record che è superiore al semplice appiattimento degli spazi dei nomi annidati. Parquet è ottimizzato per lavorare con dati complessi in massa e presenta diversi modi per un’efficiente compressione dei dati e tipi di codifica. Questo approccio è il migliore specialmente per quelle query che hanno bisogno di leggere certe colonne da una grande tabella. Parquet può leggere solo le colonne necessarie, minimizzando così notevolmente l’IO.

Svantaggi della memorizzazione dei dati in un formato colonnare:

  • La memorizzazione colonnare come Apache Parquet è progettata per portare efficienza rispetto ai file basati sulle righe come CSV. Quando si esegue una query, l’archiviazione colonnare può saltare i dati non rilevanti molto rapidamente. Di conseguenza, le query di aggregazione richiedono meno tempo rispetto ai database orientati alle righe. Questo modo di archiviazione si è tradotto in risparmi di hardware e in una latenza ridotta al minimo per l’accesso ai dati.
  • Apache Parquet è costruito da zero. Quindi è in grado di supportare strutture di dati annidate avanzate. Il layout dei file di dati Parquet è ottimizzato per le query che elaborano grandi volumi di dati, nell’ordine dei gigabyte per ogni singolo file.
  • Parquet è costruito per supportare opzioni di compressione flessibili e schemi di codifica efficienti. Poiché il tipo di dati per ogni colonna è abbastanza simile, la compressione di ogni colonna è semplice (il che rende le query ancora più veloci). I dati possono essere compressi utilizzando uno dei diversi codec disponibili; di conseguenza, diversi file di dati possono essere compressi in modo diverso.
  • Apache Parquet funziona meglio con tecnologie interattive e senza server come AWS Athena, Amazon Redshift Spectrum, Google BigQuery e Google Dataproc.

Differenza tra Parquet e CSV

CSV è un formato semplice e ampiamente diffuso che viene utilizzato da molti strumenti come Excel, Google Sheets, e numerosi altri possono generare file CSV. Anche se i file CSV sono il formato predefinito per le pipeline di elaborazione dei dati, ha alcuni svantaggi:

  • Amazon Athena e Spectrum addebitano i costi in base alla quantità di dati analizzati per query.
  • Google e Amazon addebitano i costi in base alla quantità di dati memorizzati su GS/S3.
  • Google Dataproc addebita i costi in base al tempo.

Parquet ha aiutato i suoi utenti a ridurre i requisiti di stoccaggio di almeno un terzo su grandi insiemi di dati, inoltre, ha migliorato notevolmente i tempi di scansione e deserializzazione, quindi i costi complessivi.

La seguente tabella confronta il risparmio così come l’aumento di velocità ottenuto convertendo i dati in Parquet da CSV.

Dataset

Dimensione su Amazon S3

Tempo di esecuzione della query

Dati analizzati

Costo

Dati memorizzati come file CSV

1 TB

236 secondi

1.15 TB

Dati memorizzati in formato Apache Parquet

130 GB

6.78 secondi

2.51 GB

Risparmio

87% in meno quando si usa Parquet

34x più veloce

99% meno dati scansionati

99.7% di risparmio

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *