Esiste un'analisi teorica disponibile che descrive quale tipo di problemi possono essere risolti con la mappa?Che tipo di problemi è possibile risolvere con la mappa?
risposta
Per problemi che richiedono elaborazione e generazione di set di dati di grandi dimensioni. Supponiamo di eseguire una query di generazione degli interessi su tutti gli account di una banca. Supponiamo di elaborare i dati di audit per tutte le transazioni avvenute l'anno scorso in una banca. Il miglior caso d'uso è di Google - generazione dell'indice di ricerca per il motore di ricerca di Google.
Tutto ciò che comporta operazioni su un grande insieme di dati, in cui il problema può essere suddiviso in sub-problemi indipendenti più piccoli i cui risultati possono essere aggregati per produrre la risposta al problema più grande.
Un esempio banale sarebbe il calcolo della somma di un enorme insieme di numeri. Hai diviso il set in set più piccoli, calcoli le somme di quei set più piccoli in parallelo (il che può comportare la suddivisione in set ancora più piccoli), quindi sommi questi risultati per raggiungere la risposta finale.
Molti problemi che sono "imbarazzanti paralleli" (ottima frase!) Possono utilizzare MapReduce. http://en.wikipedia.org/wiki/Embarrassingly_parallel
Da questo articolo .... http://www.businessweek.com/magazine/content/07_52/b4064048925836.htm ...
Doug Cutting, fondatore di Hadoop (un'implementazione open source di MapReduce) dice ... “Facebook utilizza Hadoop per analizzare il comportamento degli utenti e l'efficacia degli annunci sul sito "
e ..." il team tecnico del New York Times ha affittato la potenza di calcolo sul cloud di Amazon e ha utilizzato Hadoop per convertire 11 milioni di articoli archiviati, risalenti al 1851, al digitale e alla ricerca documenti. Hanno trasformato in un solo giorno un lavoro che altrimenti avrebbe richiesto en mesi “.
In Map-Reduce for Machine Learning on Multicore Chu et al descrivono 'algoritmi che si adattano al modello di query di statistica può essere scritto in una certa‘modulo somma’, che permette loro di essere facilmente parallelizzati su computer multicore.' Loro specificamente implementano 10 algoritmi tra cui ad es regressione lineare ponderata, k-Means, Naive Bayes e SVM, utilizzando una struttura di riduzione della mappa.
Il progetto Apache Mahout ha rilasciato una recente implementazione di Hadoop (Java) di alcuni metodi basati sulle idee di questo articolo.
Puoi anche guardare lo videos @ Google, li sto guardando io stesso e li trovo molto istruttivi.
La risposta sta proprio nel nome dell'algoritmo. MapReduce non è un lavoro di programmazione parallela di tipo generico o un quadro di esecuzione batch come suggeriscono alcune risposte. Map Reduce è davvero utile quando grandi set di dati che devono essere elaborati (fase di mappatura) e derivano determinati attributi da lì, e quindi devono essere riassunti su quegli attributi derivati (fase di riduzione).
Una specie di introduzione mondo ciao a MapReduce
http://blog.diskodev.com/parallel-processing-using-the-map-reduce-prog
Questa domanda è stato chiesto prima del tempo. Dal 2009 c'è stata in realtà un'analisi teorica dei calcoli di MapReduce. Questo documento del 2010 di Howard Karloff et al. formalizza MapReduce come classe di complessità nello stesso modo in cui i teorici studiano P e NP.Dimostrano alcune relazioni tra MapReduce e una classe chiamata NC (che può essere considerata o come macchine parallele con memoria condivisa o una determinata classe di circuiti limitati). Ma il pezzo principale di lavoro sono le loro definizioni formali.
- 1. Problemi con la mappa()
- 2. Perché non è possibile risolvere la sospensione di STRING?
- 3. È possibile utilizzare un tipo di riferimento come tipo di chiave in una mappa STL
- 4. È possibile aggiungere una colonna Identity chiave primaria per risolvere problemi di deadlock?
- 5. Come risolvere i problemi con l'avviso fileAttributesAtPath?
- 6. È possibile serializzare/deserializzare JSON in DTO Java con campi aggiuntivi che entrano in una mappa?
- 7. È possibile rimuovere child dalla raccolta e risolvere i problemi su SaveChanges?
- 8. Come risolvere problemi di immagine con 9 patch in Android
- 9. È possibile risolvere un contenitore con STATUS "Uscito (-1)"?
- 10. È possibile tracciare un'immagine su una mappa con matplotlib?
- 11. Risolvere equazioni lineari e problemi di algebra simili con JavaScript
- 12. Controllare se un tipo è una mappa
- 13. Come risolvere i problemi di mouseenter/mouseleave
- 14. Variabile di tipo di mappa nell'hive
- 15. Tipo di mappa Scala imprevisto
- 16. È possibile utilizzare `caso caso` con un parametro di tipo?
- 17. Corrispondenza di modelli con Scala Tipo di mappa
- 18. R per risolvere problemi di programmazione lineare
- 19. Visualizzazione problemi nella mappa di hash
- 20. Problemi con tipo generico ricorsivo in C#
- 21. Non è stato possibile risolvere il tipo 'jint' e JNIEnv, jamass
- 22. Che tipo di dichiarazione è questa?
- 23. util: mappa in primavera che preleva ogni bean del tipo di mappa
- 24. Se xargs è la mappa, che cos'è il filtro?
- 25. Che tipo di tipo Java è "[B"?
- 26. Che tipo di problemi non vengono inoltrati al riferimento universale?
- 27. Webpack: non è possibile risolvere il modulo 'di file-loader'
- 28. Quali classi di problemi è Clojure buono/cattivo nel risolvere vis-a-vis con Scala?
- 29. problemi con la semplice mappa di ridurre gli esempi di hadoop in cygwin
- 30. È possibile che l'ispezione di Visual Studio causi problemi elevati alla CPU?