关于 Storm 的 Spout 组件的生命周期问题
大家好,刚刚开始学习
Storm
.
按照 《Storm入门》这篇文章写了个
WordCount
的程序。
其中的
Spout
的内容为:
...
public void nextTuple(){
String str;
try {
while((str =reader.readLine())!=null) {
this._collection.emit(new Values(str),str); //将从文件中读取到的行发射出去
}
} catch (IOException ex) {
throw new RuntimeException("error reading tuple");
}
}
这段程序的功能主要是从文件中读取行并发射出去。因为
nextTuple()
方法会被不停的调用,则不断的发射数据。但是每次调用
nextTuple
都会将这个文件从头开始重新读取一遍么?文件小还好,如果时一个 几个T的文件时应该怎么办呢?
对概念还是不太清楚,请大家讲解一下。谢谢
RyoYL
9 years, 6 months ago