L’Hadoop Distributed File System (in sigla HDFS) è un file system distribuito, portabile e scalabile scritto in Java progettato appositamente per immagazzinare un’enorme quantità di dati (big data), in modo da ottimizzare le operazioni di archiviazione e accesso a un ristretto numero di file di grandi dimensioni, ciò a differenza dei tradizionali file system che sono ottimizzati per gestire numerosi file di piccole dimensioni. Un cluster in Hadoop tipicamente possiede uno o più name node (su cui risiedono i metadati dei file) e un insieme di data node (su cui risiedono, in blocchi di dimensione fissa, i file dell’HDFS). I formati più usati per i file su HDFS sono Comma-separated values, Apache Avro, Apache ORC e Apache Parquet.