Vorrei analizzare un flusso continuo di dati (a cui si accede tramite HTTP) utilizzando un approccio MapReduce, quindi ho esaminato Apache Hadoop. Sfortunatamente, sembra che Hadoop si aspetti di iniziare un lavoro con un file di input di dimensioni fisse, piuttosto che essere in grado di distribuire nuovi dati ai consumatori non appena arriva. È questo il vero caso o mi manchi qualcosa? Esiste uno strumento MapReduce diverso che funziona con i dati letti da un socket aperto? La scalabilità è un problema qui, quindi preferirei lasciare che MapReducer gestisca la roba di parallelizzazione.Streaming di dati e Hadoop? (non Hadoop Streaming)
Ho giocato con Cascading ed è stato in grado di eseguire un lavoro su un file statico accessibile tramite HTTP, ma questo non risolve il mio problema. Potrei usare curl come passaggio intermedio per scaricare i dati da qualche parte su un filesystem Hadoop e scrivere un watchdog per sparare un nuovo lavoro ogni volta che una nuova porzione di dati è pronta, ma è un trucco sporco; ci deve essere un modo più elegante per farlo. Qualche idea?
Non ho molta familiarità con questo campo, ma a prima vista è piaciuto anche ActiveInsight (licenza CPAL - richiede l'attribuzione). –