我有一個拓撲問題。我嘗試解釋工作流... 我有一個每2分鐘發出500k個元組的源代碼,這些元組必須通過噴口讀取,並且像一個對象(我認爲是三叉戟中的一批)一樣進行處理。 之後,一個螺栓/功能/還有什麼?...必須附加一個時間戳並將元組保存到Redis中。在Redis上寫入的Trident或Storm拓撲結構
我試圖實現一個Trident拓撲結構,該函數使用Jedis對象(Redis庫for Java)將所有元組保存到Redis中,但是當我部署時,我在此對象上收到NotSerializable Exception。
我的問題是。我該如何實現一個在Redis上寫這批元組的函數?閱讀在網絡上我不能發現,從函數寫入任何例子或者Redis的使用三叉戟狀態對象的任何實例(可能是我使用它...)
我簡單的拓撲結構:
TridentTopology topology = new TridentTopology();
topology.newStream("myStream", new mySpout()).each(new Fields("field1", "field2"), new myFunction("redis_ip", "6379"));
在此先感謝
你的意思是,你試圖序列化一個Jedis實例?你不能那樣做,你應該使用JedisPool的特殊單例模式(Jedis真的不被推薦,如果你失去連接,它將永遠丟失,池會解決這個問題)。 – zenbeni
好吧,我用池解決了Jedis序列化的問題,但我不明白我怎麼能用三叉戟來實現這樣的拓撲(真正的問題是缺少文檔和類似的例子)。 今天我改變了基本風暴拓撲類型(沒有三叉戟)的拓撲,它運行良好,但並不保證處理所有的元組像一個(按某種方式訂購)批次... – Eddyman
無論如何感謝您的提示,一步一步我開始看到解決方案! :-P – Eddyman