L'ecosistema Apache Hadoop è costituito dai diversi componenti della libreria software Apache Hadoop; comprende progetti open-source e una gamma completa di strumenti complementari. Fra gli strumenti più conosciuti dell'ecosistema Hadoop ci sono HDFS, Hive, Pig, YARN, MapReduce, Spark, HBase, Oozie, Sqoop, Zookeeper ecc. Ecco una veloce panoramica dei componenti dell'ecosistema Hadoop utilizzati più spesso dagli sviluppatori.
Hadoop Distributed File System (HDFS) è uno dei progetti Apache più importanti e il principale sistema di storage di Hadoop. Utilizza un'architettura NameNode e DataNode. È un file system distribuito in grado di memorizzare file di grandi dimensioni, che gira su cluster di hardware comune.
Hive è uno strumento per ETL e data warehouse utilizzato per interrogare e analizzare grandi set di dati memorizzati nell'ecosistema Hadoop. Hive svolge tre funzioni principali: riassunto dei dati, query e analisi di dati non strutturati e semi-strutturati in Hadoop. Ha un'interfaccia di tipo SQL, usa un linguaggio HQL che funziona in modo simile a SQL e traduce automaticamente le query in lavori MapReduce.
È un linguaggio di scripting di alto livello utilizzato per eseguire query su set di dati di grandi dimensioni utilizzati all'interno di Hadoop. Il semplice linguaggio di scripting di Pig, chiamato Pig Latin, è simile a SQL e ha lo scopo principale di eseguire le operazioni richieste e presentare il risultato finale nel formato desiderato.

È un altro livello di elaborazione dei dati di Hadoop. Consente di elaborare grandi quantità di dati strutturati e non, e di gestire file di dati molto grandi in parallelo, suddividendo il lavoro in una serie di compiti indipendenti (sottolavori).
YARN è l'acronimo di Yet Another Resource Negotiator, ma è conosciuto da tutti solo con il suo acronimo. È uno dei componenti chiave di Apache Hadoop open-source per la gestione delle risorse. Viene impiegato per gestione dei carichi di lavoro, monitoraggio e implementazione dei controlli di sicurezza. Inoltre, assegna risorse di sistema alle varie applicazioni che girano in un cluster Hadoop, indicando quali compiti devono essere eseguiti da ciascun nodo del cluster. YARN ha due componenti principali:
Apache Spark è un veloce motore di elaborazione dei dati in memoria, adatto per un ampio ventaglio di situazioni. Spark può essere implementato in molti modi, usa linguaggi di programmazione Java, Python, Scala e R, e supporta SQL, streaming di dati, machine learning ed elaborazione di grafi, che possono essere utilizzati insieme in un'applicazione.

