分享

Storm 并行读取文件

王林红 发表于 2014-11-12 19:33:56 [显示全部楼层] 只看大图 回帖奖励 阅读模式 关闭右栏 5 19008
Storm中的Spout设置并行度为4  读取同一个文件,会不会读取这个文件的四份啊

已有(5)人评论

跳转到指定楼层
bioger_hit 发表于 2014-11-12 20:24:51


2012072915533193.png

应该不会,如上图所示,只要是一个topology,无论几个读取的都是同一数据源(份文件)。

但是如果多个topology,就有可能产生重复读取


回复

使用道具 举报

王林红 发表于 2014-11-13 08:46:52
bioger_hit 发表于 2014-11-12 20:24
应该不会,如上图所示,只要是一个topology,无论几个读取的都是同一数据源(份文件)。

但是如 ...

如图中所言,那第二个Spout如何知道第一个Spout读取了什么数据,又将要从这个数据源(一份文件)的什么位置开始读取数据,同理第一个Spout如何知道第二个Spout读取了那些数据呢?
回复

使用道具 举报

muyannian 发表于 2014-11-13 11:32:32
王林红 发表于 2014-11-13 08:46
如图中所言,那第二个Spout如何知道第一个Spout读取了什么数据,又将要从这个数据源(一份文件)的什么位 ...
这里还没有找到充分的资料,但是个人认为
storm是流的方式,而不要想成是批量的方式。
对于流,如果一旦到来,那么只要有空闲spout就能接受外部数据,猜测是一种交互机制。
目前正在找相关资料,其中的原理,期待我们共同找出答案。
回复

使用道具 举报

desehawk 发表于 2014-11-13 11:42:25
王林红 发表于 2014-11-13 08:46
如图中所言,那第二个Spout如何知道第一个Spout读取了什么数据,又将要从这个数据源(一份文件)的什么位 ...
这方面的资料确实少,如果环境允许的话,可以模拟实践下。
回复

使用道具 举报

王林红 发表于 2014-11-13 15:44:16
我设置的Spout并行度为2,在open方法中读取数据并且打印日志,发现open方法被调用了2次,读取的数据是2份,所以我认为,对于同一份数据设置Spout并行,会发生重复读!希望各位指正
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条