当前位置:  开发笔记 > 运维 > 正文

流数据和Hadoop?(不是Hadoop Streaming)

如何解决《流数据和Hadoop?(不是HadoopStreaming)》经验,为你挑选了2个好方法。

我想使用MapReduce方法分析连续的数据流(通过HTTP访问),所以我一直在研究Apache Hadoop.不幸的是,似乎Hadoop希望以固定大小的输入文件开始工作,而不是在消费者到达时能够将新数据传递给消费者.这是真的吗,还是我错过了什么?是否有一个不同的MapReduce工具可以处理从打开的套接字读入的数据?可扩展性是一个问题,所以我更喜欢让MapReducer处理凌乱的并行化内容.

我玩过Cascading并能够在通过HTTP访问的静态文件上运行作业,但这实际上并没有解决我的问题.我可以使用curl作为中间步骤将数据转储到Hadoop文件系统的某个地方,并编写一个监视程序,以便在每次准备好新的数据块时触发新作业,但这是一个肮脏的黑客行为; 必须有一些更优雅的方式来做到这一点.有任何想法吗?



1> SquareCog..:

您描述的黑客或多或少是标准的处理方式 - Hadoop基本上是一个面向批处理的系统(一方面,如果数据没有结束,Reducers就无法启动,因为它们必须在之后启动地图阶段结束了).

旋转你的日志; 当你将它们旋转出来时,将它们转储到HDFS中.有一个看门狗进程(可能是分布式进程,使用ZooKeeper协调)监视转储地并启动新的处理作业.您需要确保作业在足够大的输入上运行以保证开销.

Hbase是hadoop生态系统中的BigTable克隆,可能对您感兴趣,因为它允许连续的插入流; 但是,您仍需要以批处理模式运行分析查询.



2> DrDol..:

怎么样http://s4.io/.它用于处理流数据.

更新

新产品正在兴起:Storm - 分布式和容错实时计算:流处理,连续计算,分布式RPC等

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有