Video: Free Webinar - Big data e gestione del personale: il quadro normativo della workforce analytics 2025
Per la maggior parte della storia di Hadoop, MapReduce è stato l'unico gioco in città per quanto riguarda l'elaborazione dei dati. La disponibilità di MapReduce è stata la ragione del successo di Hadoop e allo stesso tempo un fattore importante nel limitare l'ulteriore adozione.
MapReduce consente ai programmatori esperti di scrivere applicazioni distribuite senza doversi preoccupare dell'infrastruttura di calcolo distribuito sottostante. Questo è un grosso problema: Hadoop e il framework MapReduce gestiscono tutti i tipi di complessità che gli sviluppatori di applicazioni non devono gestire.
Ad esempio, la capacità di scalare in modo trasparente il cluster aggiungendo nodi e il failover automatico dei sottosistemi di archiviazione dati e elaborazione dati avviene con impatto zero sulle applicazioni.
L'altra faccia della medaglia è che, sebbene MapReduce nasconda un'enorme quantità di complessità, non puoi permetterti di dimenticare quello che è: un'interfaccia per la programmazione parallela. Questa è un'abilità avanzata e una barriera all'adozione più ampia. Semplicemente non ci sono ancora molti programmatori MapReduce, e non tutti hanno la capacità di padroneggiarlo.
Nei primi giorni di Hadoop (Hadoop 1 e precedenti), si potevano eseguire solo le applicazioni MapReduce sui propri cluster. In Hadoop 2, il componente YARN ha cambiato tutto ciò assumendo la gestione delle risorse e la pianificazione dal framework MapReduce e fornendo un'interfaccia generica per facilitare l'esecuzione delle applicazioni su un cluster Hadoop.
In breve, ciò significa che MapReduce è solo uno dei numerosi framework di applicazioni che è possibile utilizzare per sviluppare ed eseguire applicazioni su Hadoop. Sebbene sia certamente possibile eseguire applicazioni utilizzando altri framework su Hadoop, ciò non significa che possiamo iniziare a dimenticare MapReduce.
MapReduce è attualmente l'unico framework di elaborazione dati pronto per la produzione disponibile per Hadoop. Sebbene altri framework diventeranno disponibili, MapReduce ha quasi un decennio di maturità (con quasi 4.000 problemi JIRA completati, che coinvolgono centinaia di sviluppatori, se si tiene traccia).
Non c'è disputa: MapReduce è la struttura più matura di Hadoop per l'elaborazione dei dati. Inoltre, è in uso una quantità significativa di codice MapReduce che è improbabile che arrivi presto a destinazione. Per farla breve: MapReduce è una parte importante della storia di Hadoop.
I progetti Apache Hive e Apache Pig sono molto popolari perché sono punti di ingresso più semplici per l'elaborazione dei dati su Hadoop. Per molti problemi, in particolare i tipi che è possibile risolvere con SQL, Hive e Pig sono strumenti eccellenti.Ma per un compito più ampio come l'elaborazione statistica o l'estrazione di testo, e in particolare per l'elaborazione di dati non strutturati, è necessario utilizzare MapReduce.
