storm:如何使用trident和redis状态获取情绪指示器?

hwamh0ep  于 2021-06-21  发布在  Storm
关注(0)|答案(0)|浏览(171)

我正在尝试创建一个redis状态的情绪指示器。这是我的密码:

TweetSpout twitterSpout = new TweetSpout();
Stream textStream = topology.newStream("tweetSpout", twitterSpout);
        textStream.each(new Fields("texto"), new TwitterSentimentClassifier(), new Fields("sentiment","date"))
       .each(new Fields("sentiment","date"),new Union(), new Fields("key"))
       .groupBy(new Fields("key"))
       .persistentAggregate(state, new Count(), new Fields("count"))
       .parallelismHint(6);

基本上,我收到一条tweet,我用 TwitterSentimentClassifier 函数转换成正数或负数,我也得到了日期。然后 Union 连接感觉和日期的函数(例如。 positive2014.15.05 ),以便有一个键(我这样做是因为三叉戟redis只允许一个键)。下一步,三叉戟小组的关键。最后, .persistentAggregate 在redis数据库中保持每个键的计数。这个很好用。
但现在,我想用一个简单的例子来说明这个指标 node.js 与redis连接的应用程序。
indicator today=今日负面推文数/今日推文总数
所以,我想知道:
我应该在状态查询中使用drcp调用吗?
我是否必须使用另一个持久聚合器来存储指示符值?
我是否必须创建一个trident函数来将指标值存储在redis db中?
我要用 Node.js , socket.io , express 以及 d3.js 为了可视化。我可以用javascript中的普通除法操作来处理我的实际redis状态吗?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题