27 lines
547 B
Ruby
27 lines
547 B
Ruby
module RedStorm
|
|
module Examples
|
|
class WordCountBolt
|
|
def initialize
|
|
@counts = Hash.new{|h, k| h[k] = 0}
|
|
end
|
|
|
|
def prepare(conf, context, collector)
|
|
@collector = collector
|
|
end
|
|
|
|
def execute(tuple)
|
|
word = tuple.getString(0)
|
|
@counts[word] += 1
|
|
@collector.emit(Values.new(word, @counts[word]))
|
|
end
|
|
|
|
def get_component_configuration
|
|
end
|
|
|
|
def declare_output_fields(declarer)
|
|
declarer.declare(Fields.new("word", "count"))
|
|
end
|
|
end
|
|
end
|
|
end
|