Differenza tra Hadoop e MapReduce

Le radici di Hadoop risalgono al 2002, quando Dough Cutting stava lavorando a un progetto open source chiamato Nutch (che veniva utilizzato per indicizzare le pagine Web e utilizzare le pagine Web indicizzate per la ricerca, la stessa cosa che fa Google). Stava affrontando problemi di scalabilità sia in termini di archiviazione che di elaborazione. Nel 2003 google ha pubblicato GFS (file system google) e nel 2004 Nutch ha creato NDFS (file system distribuito Nutch). Dopo che Google ha annunciato MapReduce come cervello computazionale dietro i suoi algoritmi di ordinamento, Dough è stato in grado di eseguire Nutch su NDFS e ha utilizzato MapReduce nel 2005 e nel 2006 è nato Hadoop.

Hadoop e MapReduce! Hadoop è un ecosistema di progetti open source come Hadoop Common, file system distribuito Hadoop (HDFS), Hadoop YARN, Hadoop MapReduce. Hadoop in quanto tale è un framework open source per l'archiviazione e l'elaborazione di enormi set di dati. La memorizzazione viene effettuata da HDFS e l'elaborazione è curata da MapReduce. MapReduce, d'altra parte, è un modello di programmazione che ti consente di elaborare enormi dati memorizzati in Hadoop.Per capire Hadoop e MapReduce in un dettaglio in questo post.

Confronto testa a testa tra Hadoop Vs MapReduce (Infografica)

Di seguito è riportato il Top 5 confronto tra Hadoop vs MapReduce

Differenze chiave tra Hadoop vs MapReduce

Di seguito è la differenza tra Hadoop e MapReduce

  • Se vogliamo differenziare Hadoop e MapReduce in termini di laici, possiamo dire che, Hadoop è come l'auto in cui hai tutto ciò che è necessario per percorrere le distanze ma MapReduce è come il motore dell'auto, quindi senza l'auto un motore può ' non esiste ma l'esterno dell'auto potrebbe cambiare (altri DFS (file system distribuiti)).
  • L'idea di base alla base di Hadoop è che i dati devono essere affidabili e scalabili, affidabili in quanto in caso di un disastro o di un guasto di rete, i dati devono essere sempre disponibili e ciò è ottenuto dal framework di Hadoop utilizzando Nomi di nomi e Nodi di dati.
  • Qualche idea di base sui nodi dati e sui nodi nome

  • L'idea di base dietro l'architettura del nodo dati e del nodo nome è l'architettura master / slave in cui uno memorizza la posizione dei dati (nome nodo) e l'altro memorizza i dati stessi (nodo dati). I dati vengono suddivisi in blocchi di 64 MB e salvati nei blocchi di dati e il registro di questi viene gestito nel nodo Nome. I dati vengono replicati tre volte per impostazione predefinita per affidabilità. Parlando della scalabilità, l'hardware può essere aumentato in movimento e questo aiuta ad aumentare l'archiviazione e rendere scalabile il sistema.
  • Ora arrivando a MapReduce ci sono tre fasi
    1. Fase della mappa
    2. Fase casuale
    3. Ridurre la fase

Facciamo un esempio per capirlo meglio. MapReduce essendo un framework di programmazione ha anche un programma ciao mondo, ma è noto come programma di conteggio parole in MapReduce.

Il programma Conteggio parole ci fornisce le coppie chiave-valore della parola e la sua frequenza in un paragrafo / articolo o in qualsiasi fonte di dati. Per essere in grado di capirlo facilmente prendiamo il seguente esempio di dati.

Nel set di dati, come possiamo vedere, abbiamo tre parole bus, car e train. La colonna denominata Input contiene i dati che abbiamo nel set di dati, la colonna Output contiene i dati nella fase intermedia in cui si verificherà lo shuffle.

Qui stiamo prendendo lo splitter come una virgola (, ) per dividere le parole. Lo splitter può essere una virgola o uno spazio o una nuova riga, ecc.

IngressoSet di daticaR, AUTO, auto, AUTOBUS, TRENO, autobus, treno, autobus, TRENO, AUTOBUS, autobus, auto, autobus, auto, treno, auto, autobus, auto
ProduzioneConverti in un altro set di dati

(Key, Value)

(Bus, 1), (Car, 1), (bus, 1), (car, 1), (train, 1),

(auto, 1), (autobus, 1), (auto, 1), (treno, 1), (autobus, 1),

(TRENO, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(auto, 1), (BUS, 1), (TRENO, 1)

E l'output dello stadio intermedio sopra è dato al riduttore e sotto è l'output finale del programma.

Ingresso

(output della funzione Mappa)

Set di Tuple(Bus, 1), (Car, 1), (bus, 1), (car, 1), (train, 1),

(auto, 1), (autobus, 1), (auto, 1), (treno, 1), (autobus, 1),

(TRENO, 1), (BUS, 1), (buS, 1), (caR, 1), (CAR, 1),

(auto, 1), (BUS, 1), (TRENO, 1)

ProduzioneConverte in un set più piccolo di tuple(BUS, 7),

(CAR, 7),

(STAZIONE, 4)

  • Una delle principali differenze di Hadoop con altri grandi framework di elaborazione dei dati è che Hadoop invia il codice (codice MapReduce) ai cluster in cui sono archiviati i dati anziché inviarli al codice, poiché i set di dati saranno in TB o talvolta in PB sarà un compito noioso da fare.

Tabella comparativa Hadoop vs MapReduce

Base per il confrontoHadoopRiduci mappa

Senso

Il nome "Hadoop" era il nome dell'elefante giocattolo del figlio di Doug Cutting. Ha chiamato questo progetto come "Hadoop" in quanto è stato facile pronunciarlo.Il nome "MapReduce" è nato come per la funzionalità stessa di mappatura e riduzione in coppie chiave-valore.

Concetto

Apache Hadoop è un ecosistema che fornisce un ambiente affidabile, scalabile e pronto per l'elaborazione distribuita.MapReduce è un sottomodulo di questo progetto che è un modello di programmazione e viene utilizzato per elaborare enormi set di dati che si trovano su HDFS (file system distribuito Hadoop).

Pre-requisiti

Hadoop funziona su implementa HDFS (Hadoop Distributed File System)MapReduce può essere eseguito su HDFS / GFS / NDFS o qualsiasi altro file system distribuito, ad esempio MapR-FS

linguaggio

Hadoop è una raccolta di tutti i moduli e quindi può includere anche altri linguaggi di programmazione / scriptingMapReduce è sostanzialmente scritto nel linguaggio di programmazione Java

Struttura

Hadoop non ha solo un framework di archiviazione che archivia i dati, ma crea il nodo del nome e del nodo dei dati, ma ha anche altri framework che includono MapReduce stesso.MapReduce è un framework di programmazione che utilizza una chiave, mappature di valori per ordinare / elaborare i dati

La figura seguente aiuterà a differenziare MapReduce da Hadoop.

MapReduce Framework

  • Come possiamo vedere dall'immagine sopra, MapReduce è un framework di elaborazione distribuito mentre Hadoop è una raccolta di tutti i framework.

Conclusione - Hadoop vs MapReduce

Essendo Hadoop open source ha guadagnato popolarità in quanto era gratuito e i programmatori possono cambiare il codice secondo le loro esigenze. L'ecosistema Hadoop è stato sviluppato continuamente negli ultimi anni per rendere l'Ecosistema il più privo di errori possibile.

Con le esigenze in continua evoluzione del mondo, la tecnologia cambia rapidamente e diventa difficile tenere traccia dei cambiamenti. I dati che vengono generati in un mese vengono raddoppiati / triplicati mentre leggi questo articolo e la necessità di un'elaborazione più rapida dei set di dati ha portato a molti altri framework di programmazione come MapReduce 2, Spark ecc.

Articoli consigliati

Questa è stata una guida a Hadoop vs MapReduce, il loro significato, il confronto testa a testa, le differenze chiave, la tabella di confronto e le conclusioni. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Differenza tra Hadoop vs Redshift
  2. Scopri le 6 migliori differenze tra Apache Hadoop e Apache Storm
  3. Confronti tra Hadoop Vs SQL
  4. Informazioni su MapReduce vs Spark
  5. Hadoop vs Spark: funzioni
  6. Laravel vs Codeigniter: funzioni

Categoria: