2013-04-18 10 views
9

Ho alcuni problemi che potrebbero applicarsi bene al modello di ridimensionamento della mappa. Mi piacerebbe sperimentare con la loro implementazione, ma in questa fase non voglio correre il problema di installare un sistema pesante come Hadoop o Disco.Esiste un semplice framework per la riduzione delle mappe Python che utilizza il normale filesystem?

Esiste un framework Python leggero per map-reduce che utilizza il normale file system per l'input, i file temporanei e l'output?

+2

Ok, sto trovando grandi cose googling "python map-reduce", quindi un punto per l'ovvietà. Dai un'occhiata a [Parallel MapReduce in Python] (http://mikecvet.wordpress.com/2010/07/02/parallel-mapreduce-in-python/) che usa le funzioni integrate 'map' e' reduce' con il multiprocessing piscine. Suppongo che, dal momento che la mappa e la riduzione sono già presenti, è un altro punto per ovvietà! – tdelaney

+0

potresti trovare utile pydoop. http://pydoop.sourceforge.net/docs/index.html – Tariq

+0

@tdelaney, so che ci sono molti risultati. La ragione per cui ho chiesto qui è di vedere quali persone reali hanno usato con risultati decenti. SO non è solo per cose che non sono googleable. – Reid

risposta

10

Un Coursera corso dedicato alla grande i dati suggerisce di utilizzare questi pitone leggero Map-Reduce quadri:

per iniziare molto rapidamente, provare questo esempio:

https://github.com/michaelfairley/mincemeatpy/zipball/v0.1.2

(suggerimento: per [indirizzo del server] in questo esempio utilizzare localhost)

+0

Quale corso di Coursera è stato presentato qui? – Shoan

+0

https://www.coursera.org/course/bigdata?from_restricted_preview=1&course_id=970315&r=https%3A%2F%2Fclass.coursera.org%2Fbigdata-002%2Fclass – Pavel

5

http://pythonhosted.org/mrjob/ è grande per iniziare rapidamente sul computer locale, in pratica tutto ciò che serve è un semplice:

pip install mrjob

+1

Questa dovrebbe essere la risposta giusta. Non solo ti consente di lavorare sui tuoi file locali, che riguardano la riproduzione e l'apprendimento con MR, ma ti consente di farlo in modo trasparente e uniforme ** anche ** su AWAD hadoop solution (EMR) e sul tuo cluster hadoop locale. https://github.com/Yelp/mrjob – mork

+0

Ma quando si esegue MRJob localmente, non sembra che esegua attività in parallelo. O lo fa? – Andy

1

Check out Apache Spark. È scritto in Java ma ha anche un'API Python. Puoi provarlo localmente sul tuo computer e poi, quando ne hai bisogno, puoi facilmente distribuire il tuo calcolo su un cluster.

0

Quindi questo è stato chiesto secoli fa, ma ho lavorato a un'implementazione completa di mapreduce durante il fine settimana: rimappatura.

https://github.com/gtoonstra/remap

Abbastanza facile da installare con minime dipendenze, se tutto va bene si dovrebbe essere in grado di eseguire un test eseguito in 5 minuti.

L'intera pipeline di elaborazione funziona, ma i lavori di inoltro e monitoraggio sono ancora in corso.

Problemi correlati