文档章节

storm trident 分布式查询遇到的一个问题

岩之有理
 岩之有理
发布于 2014/12/10 17:33
字数 220
阅读 44
收藏 0

在学习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的过程!

© 著作权归作者所有

共有 人打赏支持
岩之有理
粉丝 7
博文 18
码字总数 6134
作品 0
徐汇
高级程序员
探秘Hadoop生态13:初探Storm和入门实例

这位大侠,这是我的公众号:程序员江湖。 分享程序员面试与技术的那些事。 干货满满,关注就送。 Storm:最火的流式处理框架 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获...

你的猫大哥
2017/03/08
0
0
storm kafka 编程指南

一、原理及关键步骤介绍 storm中的storm-kafka组件提供了storm与kafka交互的所需的所有功能,请参考其官方文档:https://github.com/apache/storm/tree/master/external/storm-kafka#broker...

大数据之路
2012/06/27
0
0
大数据处理 Hadoop、HBase、ElasticSearch、Storm、Kafka、Spark

场景 伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条...

江河海流
2014/03/30
0
0
Storm简介(转载自淘宝,加了点个人理解)

伴随着信息科技日新月异的发展,信息呈现出爆发式的膨胀,人们获取信息的途径也更加多样、更加便捷,同时对于信息的时效性要求也越来越高。举个搜索场景中的例子,当一个卖家发布了一条宝贝信...

junanhonglei
2015/06/21
0
0
hadoop、storm和spark的区别、比较

一、hadoop、Storm该选哪一个? 为了区别hadoop和Storm,该部分将回答如下问题:1.hadoop、Storm各是什么运算2.Storm为什么被称之为流式计算系统3.hadoop适合什么场景,什么情况下使用hadoo...

whoisliang
07/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

活动推荐|互联网3.0与区块链新时代论坛(北京)

1 时间地点 **时间:**9月22日 14:00 - 18:00 地点:(北京海淀)西大街70号 3w咖啡 二层 2 活动详情 Harmony创始人Stephen及团队将介绍他们的区块链分片扩容技术。Stephen曾任Apple地图服务...

HiBlock
42分钟前
1
0
如何优雅的删除Redis的大key

关于Redis大键(Key),我们从[空间复杂性]和访问它的[时间复杂度]两个方面来定义大键。前者主要表示Redis键的占用内存大小;后者表示Redis集合数据类型(set/hash/list/sorted set)键,所含有的...

IT--小哥
52分钟前
1
0
spring cloud学习笔记

工具 eclipse 4.9 gradle 4.10.2 spring cloud Finchley.SR1 spring boot 2.0.4 build.gradle buildscript {ext {springBootVersion = '2.0.4.RELEASE'}repositories {jcenter()......

bobby2006
53分钟前
1
0
Tcl命令操作实验-----(5)

Vivado% proc myproc {arg} {puts $arg}Vivado% myproc mynamemynameVivado% if {2>1} {puts 2>1} else {puts 2<1}2>1...

whoisliang
今天
1
0
比特币钱包RPC的PHP调用方法

当我们希望在Php开发的网站中加入比特币支付功能时,需要解决的第一个 问题,就是如何在Php程序代码中调用比特币钱包的RPC API开发接口来实现 我们期望的功能,例如比特币的支付与接收。 例如...

汇智网教程
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部