Skip to Content

Che cos'è un file Parquet?

Un file Apache Parquet è un formato di data storage open source utilizzato per i database colonnari nelle query analitiche. Se hai piccoli dataset ma milioni di righe da cercare, potrebbe essere meglio utilizzare un formato colonnare per ottenere performance migliori. I database colonnari memorizzano i dati raggruppando le colonne anziché il database standard basato su righe che raggruppa per righe. Un file Parquet è uno dei diversi formati di storage colonnare.

Che cos'è un file Parquet?

Invece di raggruppare righe come un foglio di calcolo Excel o un database relazionale standard, un file Apache Parquet raggruppa le colonne per prestazioni più veloci. Parquet è un formato di storage colonnare e non un database stesso, ma il formato Parquet è comune con i data lake, specialmente con Hadoop. Dal momento che è un formato colonnare, è molto diffuso nel data storage e nelle query analitiche.

La maggior parte degli sviluppatori è abituata al data storage basato su righe, ma immagina di ruotare un foglio di calcolo Excel in modo che le colonne siano ora visualizzate al posto delle righe numerate. Ad esempio, invece di mantenere una tabella clienti con un elenco di colonne di nome e cognome in cui il nome e il cognome vengono raggruppati insieme come una riga, un file Parquet memorizza le colonne insieme in modo che i database possano restituire più rapidamente le informazioni da una colonna specifica invece di cercare in ogni riga con numerose colonne. 

Vantaggi dei file Parquet

Oltre alle performance delle query basate sul modo in cui i file Parquet memorizzano i dati, l'altro vantaggio principale è l'efficienza in termini di costi. I file Apache Parquet sono dotati di compressione e decompressione altamente efficienti, quindi non occupano tanto spazio quanto un file di database standard. Con meno spazio di storage, un'azienda può risparmiare migliaia di dollari in costi di storage.

I formati di storage colonnare sono i migliori per Big Data e query analitiche. I file Parquet possono memorizzare immagini, video, oggetti, file e dati standard, in modo da poter essere utilizzati in qualsiasi tipo di applicazione analitica. Poiché le strategie di file Parquet sono open source, sono adatte anche alle organizzazioni che desiderano personalizzare le proprie strategie di data storage e query.

Come funzionano i file Parquet

I file Parquet contengono uno storage basato su colonne, ma anche metadati. Le colonne vengono raggruppate in ciascun gruppo di righe per garantire l'efficienza delle query e i metadati aiutano il motore di database a individuare i dati. I metadati contengono informazioni sulle colonne, sui gruppi di righe contenenti dati e sullo schema. 

Lo schema di un file Parquet descrive l'approccio allo storage basato su colonne. Il formato dello schema è binario e può essere utilizzato in un ambiente di data lake Hadoop. I file Parquet possono essere archiviati in qualsiasi file system, quindi non sono limitati solo agli ambienti Hadoop.

Uno dei vantaggi del formato di file storage Parquet è una strategia chiamata pushdown predicato. Con il predicate pushdown, il motore di database filtra i dati nelle prime fasi dell'elaborazione in modo che i dati più mirati vengano trasferiti lungo la pipeline. Grazie alla minore quantità di dati destinati a una query, migliora le performance delle query. Una minore elaborazione dei dati riduce anche l'utilizzo delle risorse informatiche e, in ultima analisi, anche i costi.

Utilizzo dei file Parquet

I file Parquet sono file Apache, quindi puoi crearli nei tuoi script Python, a condizione di importare diverse librerie. Supponiamo di avere una tabella in Python:

import numpy as np
 import pandas as pd
 import pyarrow as pa
 df = pd.DataFrame({'one': [-1, 4, 1.3],
                   'two': ['blue', 'green', 'white'],
                   'three': [False, False, True]},
                   index=list('abc'))
 table = pa.Table.from_pandas(df)

Con questa tabella è ora possibile creare un file Parquet:

import pyarrow.parquet as pq
 pq.write_table(table, 'mytable.parquet')

Il codice di cui sopra crea il file "mytable.parquet" e lo scrive nella tabella. Ora puoi leggerlo dal tuo database preferito e importare i dati, oppure puoi utilizzarli per le tue query e analisi.

Puoi anche leggere questa tabella dal file utilizzando Python:

pq.read_table('mytable.parquet', columns=['one', 'three'])

La funzione write() consente di impostare le opzioni quando si scrive la tabella in un file. Puoi trovare un elenco di opzioni sul sito di Apache, ma ecco un esempio di come impostare la compatibilità del file su Apache Spark:

import numpy as np
 import pandas as pd
 import pyarrow as pa
 df = pd.DataFrame({'one': [-1, 4, 1.3],
                   'two': ['blue', 'green', 'white'],
                   'three': [False, False, True]},
                   flavor=’spark’)
 table = pa.Table.from_pandas(df)

Conclusione

Se intendi utilizzare file Parquet per Hadoop, Apache Spark o altri database compatibili, puoi automatizzare la creazione di file utilizzando Python o importare file nell'ambiente di database per l'analisi. I file Parquet utilizzano la compressione per ridurre i requisiti di spazio di storage, ma è comunque necessaria una capacità di storage eccessiva per i silos di Big Data di grandi dimensioni. Pure Storage può aiutarti con il Big Data Storage con la nostra tecnologia di deduplica e compressione.

11/2020
VMware Hybrid Cloud Solution Brief | Solution Brief
Hybrid cloud and container adoption are growing rapidly. Advance to an effortless, optimized VMware environment.
Solution brief
3 pagine
CONTATTACI
Domande?

Hai domande o commenti sui prodotti o sulle certificazioni di Pure?  Siamo qui per aiutarti.

Prenota una demo

Prenota una demo per vedere come puoi trasformare i tuoi dati in risultati concreti con Pure. 

Telefono: +39 02 9475 9422

Media: pr@purestorage.com

 

Pure Storage Italia

Spaces c/o Bastioni di Porta Nuova, 21

Milano, 20121

+39 02 9475 9422

italia@purestorage.com

CHIUDI
Il browser che stai usando non è più supportato.

I browser non aggiornati spesso comportano rischi per la sicurezza. Per offrirti la migliore esperienza possibile sul nostro sito, ti invitiamo ad aggiornare il browser alla versione più recente.