畢業設計筆記
1、分詞工具是IKAnalyzer
它是以開源項目Lucene為應用主體的,結合詞典分詞和文法分析算法的中文分詞組件。
2、UUID(Universally Unique Identifier)全局唯一標識符,是指在一臺機器上生成的數字,它保證對在同一時空中的所有機器都是唯一的。
3、插入數據庫錯誤:Data truncation: Data too long for column ‘title‘ at row 1
原因:使用varchar類型 導致長度不夠。方法:改為longtext類型。
4、 bulkRequest.execute().actionGet();程序後面執行不了。
方法:重啟一下ES
5、問題一 spout是怎麽將tuple傳過去的?
Bolt從Topology中獲取數據,並進行處理declarer.declare(new Fields("word"));
它聲明了該Bolt的輸出字段,只有一個,而且這個Fields的名字很重要,是供下遊使用的,比如這裏叫word,那麽在fieldsGrouping也應該通過word來指定這個結果。
//因為word-counter有兩個並行任務,從word-normalizer的數據發給 哪個任務是通過filed中的參數來確定的。
builder.setBolt("word-counter", new WordCounter(),2).fieldsGrouping("word-normalizer", new Fields("word"));
2、問題二
在IRichBolt實現類中, 如果OutputCollector.emit(oldTuple, newTuple)這樣調用來發射tuple(在storm中稱之為anchoring), 那麽後面的bolt的ack/fail會影響spout的ack/fail, 如果collector.emit(newTuple)這樣來發射tuple(在storm稱之為unanchoring), 則相當於斷開了後面bolt的ack/fail對spout的影響.spout將立即根據當前bolt前面的ack/fail的情況來決定調用spout的ack/fail. 所以某個bolt後面的bolt的成功失敗對你來說不關心, 你可以直接通過這種方式來忽略
畢業設計筆記