intermediatebig-data

HDFS (Hadoop Distributed File System)

A file system built assuming your hardware will fail — and designed not to care when it does.

Key Points

What it is

HDFS is a distributed file system that splits large files into fixed-size blocks and spreads them across many machines in a cluster, storing multiple copies (replicas) of each block so the system survives individual machine failures without losing data.

Why it exists

Storing a massive file on one machine means that machine's failure destroys the file, and its disk speed caps how fast you can read it. HDFS exists to split storage across many machines so no single hardware failure causes data loss, and so many machines can read different parts of a file in parallel.

Intuition

Imagine photocopying every page of an important book and mailing different copies of each page to three different friends in three different cities. If one friend's copy gets lost in a fire, you can still reconstruct the whole book from the other two. HDFS does exactly this with data blocks, automatically, across machines in a cluster.

When to use

When not to use

Common mistakes

In practice

The storage backbone underneath many big data pipelines — raw and processed datasets are commonly stored in HDFS or an HDFS-compatible cloud store (Amazon S3, Google Cloud Storage) before being read by Spark for processing.

Was this concept helpful?

Spot an error or gap? Suggest an edit →

Related concepts

hadoop-ecosystemmapreducedata-partitioning-shardingdata-replication-fault-tolerance
Chirp at me!