Che cos'è Hadoop ea cosa serve? [chiuso]


28

Mi diverto a leggere ServerFault da un po 'e mi sono imbattuto in alcuni argomenti su Hadoop. Ho avuto qualche problema a scoprire cosa fa da un punto di vista globale.

Quindi la mia domanda è abbastanza semplice: che cos'è Hadoop? Che cosa fa ? A cosa serve ? Perché prende a calci in culo?

Modifica: se qualcuno dovesse avere dimostrazioni / spiegazioni dei casi d'uso in cui è stato utilizzato Hadoop, sarebbe fantastico.


Facebook fa un forte uso di Hadoop (beh davvero Hive che è uno strato sopra Hadoop). C'è un buon resoconto sulla pagina di ingegneria di Facebook. facebook.com/note.php?note_id=89508453919
John Meagher,

Hadoop è un framework che semplifica l'elaborazione di grandi quantità di dati ( Big data ) distribuendo i cluster di dati tra i nodi / server e facendo funzionare il processo in parallelo. Questo processo / algoritmo è noto come MapReduce.
Mr_Green,

Risposte:


26

Direttamente dalla bocca del cavallo :

Hadoop è un framework per l'esecuzione di applicazioni su cluster di grandi dimensioni costruiti con hardware di base. Il framework Hadoop offre in modo trasparente applicazioni e affidabilità e movimento dei dati. Hadoop implementa un paradigma computazionale chiamato Map / Reduce, in cui l'applicazione è divisa in molti piccoli frammenti di lavoro, ognuno dei quali può essere eseguito o rieseguito su qualsiasi nodo del cluster. Inoltre, fornisce un file system distribuito (HDFS) che archivia i dati sui nodi di calcolo, fornendo una larghezza di banda aggregata molto elevata in tutto il cluster. Sia Map / Reduce che il file system distribuito sono progettati in modo tale che gli errori dei nodi vengano gestiti automaticamente dal framework.

Mappa / Riduzione è un paradigma di programmazione reso popolare da Google in cui in un'attività viene diviso in piccole porzioni e distribuito su un gran numero di nodi per l'elaborazione (mappa), e i risultati vengono quindi riassunti nella risposta finale (riduci ). Google e Yahoo lo usano per la loro tecnologia dei motori di ricerca, tra le altre cose.

Hadoop è un framework generico per implementare questo tipo di schema di elaborazione. Per quanto riguarda il motivo per cui prende a calci nel culo, soprattutto perché fornisce funzionalità pulite come la tolleranza agli errori e consente di riunire praticamente qualsiasi tipo di hardware per eseguire l'elaborazione. Ridimensiona anche molto bene, a condizione che il tuo problema si adatti al paradigma.

Puoi leggere tutto al riguardo sul sito web .

Come per alcuni esempi, Paul ne ha dato alcuni, ma eccone alcuni che potresti fare che non sono così incentrati sul web:

  • Rendering di un film in 3D. Il passaggio "map" distribuisce la geometria per ogni frame su un nodo diverso, i nodi lo rendono e i frame renderizzati vengono ricombinati nel passaggio "riduci".
  • Calcolo dell'energia in un sistema in un modello molecolare. Ogni frame di una traiettoria di sistema è distribuito a un nodo nel passaggio "map". I nodi calcolano l'energia per ciascun frame,
    quindi i risultati vengono riepilogati nel passaggio "Riduci".

In sostanza il modello funziona molto bene per un problema che può essere suddiviso in calcoli discreti simili completamente indipendenti e che possono essere ricombinati per produrre un risultato finale.


La ringrazio per la risposta. Quindi in pratica prende le app (PHP? Java?) E le scompone e invia il lavoro tra un mucchio di nodi? Per quanto riguarda HDFS, è un po 'come OCFS se non con un mucchio di nodi?
Antoine Benkemoun,

Interessato anche a questo. Mi piacerebbe vedere alcuni esempi di parole più specifici e reali.
Karolis T.,

Era quello che cercavo anche :-)
Antoine Benkemoun il

10

Cloudera ha alcuni fantastici video che spiegano i principi alla base di Map Reduce e Hadoop.

http://www.cloudera.com/hadoop-training-basic

Una delle idee alla base di MapReduce è che per i set di dati di grandi dimensioni sarai legato ai tuoi dischi, quindi in Hadoop HDFS ti dà la possibilità di dividere le cose tra molti nodi consentendo l'elaborazione parallela.

Alcuni usi di Hadoop di interesse per gli amministratori di sistema spesso riguardano l'elaborazione di set di file di registro di grandi dimensioni: posso pubblicare solo un link ma questi includono, Google dovrebbe trovare questi:

  1. Query del registro di posta di Rackspace
  2. Analisi dei log di Apache con maiale - vedi il blog di Cloudera
  3. Yahoo! combattere lo spam

Sembra carino, darò un'occhiata :-)
Antoine Benkemoun,

1

Inizialmente hadoop è stato sviluppato per grandi quantità di set di dati in ambiente OLAP.

Con l'introduzione di Hbase sopra hadoop, la canna può essere utilizzata anche per l'elaborazione OLAP. Hadoop è un framework con tutti i sottocomponenti come map reduce, hdfs, hbase, pig.

È stato introdotto l'articolo con la base di hadoop in Why Hadoop .

In Hadoop, l'archiviazione dei dati sotto forma di file, non nelle tabelle, nelle colonne.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.