class TopWordFinderTopologyPartA(Topology): # TODO: # Task: wire up the topology # Make sure you use the following names for each component # RandomSentenceSpout -> "spout" spout = RandomSentenceSpout.spec() # SplitSentenceBolt -> "split" split = SplitSentenceBolt.spec(inputs={spout: Grouping.fields('word')}) # WordCountBolt -> "count" count = WordCountBolt.spec(inputs={split: Grouping.fields('word')})
class TopWordFinderTopologyPartA(Topology): config = {'coursera.datafile': 'resources/data.txt'} # TODO: # Task: wire up the topology # Make sure you use the following names for each component # FileReaderSpout -> "spout" spout = FileReaderSpout.spec(inputs=config) # SplitSentenceBolt -> "split" split = SplitSentenceBolt.spec(inputs={spout: Grouping.fields('word')}) # WordCountBolt -> "count" count = WordCountBolt.spec(inputs={split: Grouping.fields('word')})
class TopWordFinderTopologyPartA(Topology): # TODO: # Task: wire up the topology # Make sure you use the following names for each component # RandomSentenceSpout -> "spout" # SplitSentenceBolt -> "split" # WordCountBolt -> "count" # NOTE: will have to manually kill Topology after submission sentence_spout = RandomSentenceSpout.spec(name='spout') split_bolt = SplitSentenceBolt.spec(name='split', inputs=[sentence_spout]) count_bolt = WordCountBolt.spec( name='count', inputs={split_bolt: Grouping.fields('word')})
class TopWordFinderTopologyPartA(Topology): config = {'coursera.datafile': 'resources/data.txt'} # TODO: # Task: wire up the topology # Make sure you use the following names for each component # FileReaderSpout -> "spout" # SplitSentenceBolt -> "split" # WordCountBolt -> "count" # NOTE: will have to manually kill Topology after submission sentence_spout = FileReaderSpout.spec(name='spout') split_bolt = SplitSentenceBolt.spec(name='split', inputs=[sentence_spout]) count_bolt = WordCountBolt.spec( name='count', inputs={split_bolt: Grouping.fields('word')})