Я бы хотел проанализировать непрерывный поток данных (доступ через HTTP) с использованием подхода MapReduce, поэтому я изучал Apache Hadoop. К сожалению, похоже, что Hadoop рассчитывает начать работу с входного файла фиксированного размера, вместо того, чтобы передавать новые данные потребителям по мере их поступления. Это действительно так, или я что-то упускаю? Есть ли другой инструмент MapReduce, который работает с данными, считываемыми из открытого сокета? Масштабируемость здесь является проблемой, поэтому я бы предпочел, чтобы MapReducer обрабатывал беспорядочные материалы распараллеливания.
Я играл с Cascading и смог запустить задание на доступном статическом файле через HTTP, но это фактически не решает мою проблему. Я мог бы использовать curl в качестве промежуточного шага, чтобы сбрасывать данные где-то в файловой системе Hadoop и писать сторожевой таймер, чтобы запускать новое задание каждый раз, когда новый кусок данных готов, но это грязный взломать; должен быть более элегантный способ сделать это. Есть идеи?