
XML文件和日志文件都存放在Spout可以隨時監(jiān)測的目錄下,用以關注文件的實時更新。而這個用例中的topology請見下圖。
Figure 1:Storm中建立的topology,用以實現(xiàn)數(shù)據(jù)實時處理
如圖所示:FilelistenerSpout接收輸入日志并進行逐行的讀入,接著將數(shù)據(jù)發(fā)射給ThresoldCalculatorBolt進行更深一步的臨界值處理。一旦處理完成,被計算行的數(shù)據(jù)將發(fā)送給DBWriterBolt,然后由DBWriterBolt存入給數(shù)據(jù)庫。下面將對這個過程的實現(xiàn)進行詳細的解析。
Spout的實現(xiàn)
Spout以日志文件和XML描述文件作為接收對象。XML文件包含了與日志一致的設計模式。不妨設想一下一個示例日志文件,包含了車輛的車牌號、行駛速度、以及數(shù)據(jù)的捕獲位置。(看下圖)