千家信息网

storm trident分布式查询的问题怎么解决

发表于:2024-11-29 作者:千家信息网编辑
千家信息网最后更新 2024年11月29日,本篇内容主要讲解"storm trident分布式查询的问题怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"storm trident分布式查询的问
千家信息网最后更新 2024年11月29日storm trident分布式查询的问题怎么解决

本篇内容主要讲解"storm trident分布式查询的问题怎么解决",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"storm trident分布式查询的问题怎么解决"吧!

背景是一个很简单的场景,从一个文档中读取句子,然后算出每个单词出现的次数,将结果存入MyMemoryMapState中。

然后做一个分布式查询:

topology.newDRPCStream("word", drpc)//默认输入的fields 是"args"  .stateQuery(wordCounts, new Fields("args"), new MapGet(), new Fields("count"));

drpc调用的代码

drpc.execute("word", "first")

结果出现有时候查询是null,有时候会有数据。比较奇怪,既然内存中已经有了数据,为什么查不出呢?

后来尝试修改了分布式查询代码

topology.newDRPCStream("word", drpc)//默认输入的fields 是"args"  .groupBy(new Fields("args"))  .stateQuery(wordCounts, new Fields("args"), new MapGet(), new Fields("count"));

然后每次都能查询出结果。不明白为什么非要groupby 一下。需要了解一下stateQuery的过程!

到此,相信大家对"storm trident分布式查询的问题怎么解决"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0