1. 程式人生 > >畢業設計筆記

畢業設計筆記

數據庫 中文 title 程序 詞典

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的成功失敗對你來說不關心, 你可以直接通過這種方式來忽略


畢業設計筆記