我創建了一個簡單的程序來讀取文件並生成一個文件,它的工作完美。我擔心如何使它實時拓撲。我想如果我修改源文件意味着添加一個新的記錄它應該進來我的目標文件我怎麼會做它無需重新部署在cluster.What我的拓撲結構一樣,我需要配置來實現這一behavior.Below是本地提交拓撲代碼: -如何讓我的風暴拓撲實時工作?
Config conf= new Config();
conf.setDebug(false);
conf.put(Config.TOPOLOGY_MAX_SPOUT_PENDING,1);
TopologyBuilder builder = new TopologyBuilder();
builder.setSpout("file-reader",new FileReaderSpout(args[0]));
builder.setBolt("file-writer",new WriteToFileBolt(args[0])).shuffleGrouping("file-reader");
LocalCluster cluster= new LocalCluster();
cluster.submitTopology("File-To-File",conf,builder.createTopology());
Thread.sleep(10000);
cluster.shutdown();
thanx您reply..if我的源是一個數據庫表和目標文件,那麼我如何能實現實時processing.can我實現,而無需使用任何其他第三方的jar(即卡夫卡) – user2435082
根據我對實時做任何事情的理解,您需要確保持續處理數據(數據流)來源。這就是隊列的概念。你可以查詢一個數據庫並檢索一組信息(結果集/行)並處理它們(比如批處理),但是如果有人向db中添加新記錄,你會怎麼做?那麼您需要某種機制來檢測並使其可用於處理。你可以請分享你到底想要達到什麼 – user2720864
我完全想要你說的相同的東西,如果有人向db中添加一條新的記錄,那麼我需要什麼機制來檢測它,並使它可用於processing.i只是想知道對於這種檢測,Storm提供了什麼(類名等) – user2435082