Me gustaría analizar un flujo continuo de datos (a través de HTTP) utilizando un enfoque MapReduce, así que he estado buscando en Apache Hadoop. Desafortunadamente, parece que Hadoop espera comenzar un trabajo con un archivo de entrada de tamaño fijo, en lugar de poder entregar datos nuevos a los consumidores a medida que llegan. ¿Es este el caso, o me estoy perdiendo algo? ¿Existe una herramienta MapReduce diferente que funcione con datos que se leen desde un socket abierto? La escalabilidad es un problema aquí, por lo que preferiría dejar que MapReducer maneje las complicadas cosas de la paralelización.Transmisión de datos y Hadoop? (no Hadoop Streaming)
He jugado con Cascading y pude ejecutar un trabajo en un archivo estático al que se accede a través de HTTP, pero esto en realidad no resuelve mi problema. Podría usar curl como un paso intermedio para volcar los datos en algún lugar en un sistema de archivos Hadoop y escribir un perro guardián para iniciar un nuevo trabajo cada vez que un nuevo fragmento de datos esté listo, pero eso es un hack sucio; tiene que haber una manera más elegante de hacer esto. ¿Algunas ideas?
No estoy muy familiarizado con este campo, pero a primera vista también me gustó ActiveInsight (licencia de CPAL: requiere atribución). –