MOBI BOOT CAMP CORP. logoLearning Buddy
  • SIGN IN
  • Foundations
  • The Hadoop Ecosystem: Batch at Scale
    • Hadoop
    • HDFS
    • MapReduce
    • YARN
    • Apache Hive
    • Hands-on Hadoop
    • Slides
  • The Spark Ecosystem: In-Memory Processing
  • Data Pipelines and Transport
  • Search & Information Retrieval
  • The Modern Data Stack
  • Glossary

Apache Hadoop

At the heart of the Big Data challenge are two fundamental questions:

  • How can we efficiently store massive amounts of data?
  • How can we quickly process this data?

In the mid-2000s, Apache Hadoop emerged as a groundbreaking open-source solution that answered both.

What is Hadoop?

Inspired by a 2004 research paper from Google on the MapReduce processing paradigm, Apache Hadoop was created by Doug Cutting and Mike Cafarella in 2005. Working at Yahoo at the time, Cutting named the project after his son's toy elephant.

Hadoop's revolutionary concept was its ability to run on clusters of commodity hardware. Instead of requiring expensive, high-end supercomputers, Hadoop allowed organizations to build powerful data processing systems by linking together many standard, affordable servers. This distributed approach was a game-changer, making large-scale data processing accessible to a much wider audience.

Hadoop provides a solution for both storage and processing:

  • HDFS (Hadoop Distributed File System): For reliable, distributed storage.
  • MapReduce: For parallel, distributed data processing.

In essence, Hadoop is a framework for the distributed storage and processing of large datasets. It is designed with two core principles in mind:

  • Scalability: As data grows, you can add more machines (nodes) to the cluster to linearly increase storage and processing capacity.
  • Fault Tolerance: Hadoop assumes that hardware failures are common. It is designed to automatically handle node failures, ensuring that data is safe and processing jobs can complete successfully.

Hadoop = Distributed Storage (HDFS) + Distributed Compute (MapReduce)

Core Components of Hadoop

Modern Hadoop (version 3.x and later) is modular and consists of four main components:

  • Hadoop Common: Provides the essential libraries and utilities required by the other modules.
  • HDFS (Hadoop Distributed File System): The storage layer. HDFS splits large files into blocks and distributes them across the nodes in the cluster, replicating them for fault tolerance.
  • YARN (Yet Another Resource Negotiator): The cluster's resource management layer, or "operating system." YARN is responsible for scheduling jobs and allocating compute resources (CPU, memory) to various applications running on the cluster.
  • Hadoop MapReduce: The native processing framework for Hadoop. It implements the MapReduce programming model, which processes data in two main phases: the Map phase (which filters and transforms the data) and the Reduce phase (which aggregates the results).

A key design feature is data locality. YARN schedules processing tasks on the same nodes where the data is stored, minimizing network traffic and dramatically improving efficiency.

The Hadoop Ecosystem

While Hadoop's core components are powerful, their initial complexity (requiring Java programming for MapReduce) led to the development of a rich ecosystem of tools to make it more accessible and functional.

  • Apache Hive: Provides a SQL-like interface (HiveQL) to query data stored in HDFS. Hive translates these SQL queries into MapReduce jobs (or other execution engines like Tez or Spark).
  • Apache Pig: A high-level platform for creating data processing pipelines using a scripting language called Pig Latin.
  • Apache Spark: While a standalone project, Spark is often used as a faster, more flexible alternative to MapReduce for processing data stored in HDFS.
  • Apache HBase: A non-relational, distributed database that runs on top of HDFS, providing real-time read/write access to large datasets.

The Hadoop Ecosystem

Hadoop's Role in the Modern Data Stack

While Hadoop was once the center of the big data world, its role has fundamentally changed. It is no longer the all-in-one platform of choice for new projects, but its components are still relevant in specific contexts.

The rise of the cloud has "unbundled" the Hadoop stack, with cloud-native services often providing better, more cost-effective alternatives:

  • HDFS is still widely used for large, on-premise data lakes, but has been largely replaced in the cloud by object storage like Amazon S3 and Google Cloud Storage (GCS).
  • MapReduce is now considered a legacy technology. It has been almost entirely superseded by the faster, more flexible Apache Spark for data processing.
  • YARN is still a powerful resource manager for on-premise clusters, but many modern workloads are now managed by Kubernetes.

In summary, Hadoop is not dead, but it is no longer the default choice. You will still encounter it in large, established enterprises, but new projects, especially in the cloud, will almost always use a combination of cloud storage, Spark, and a cloud data warehouse or Lakehouse.

References

  • https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
  • https://hadoop.apache.org/docs/r3.3.1/
Privacy Policy | Terms & Conditions