从品牌网站建设到网络营销策划,从策略到执行的一站式服务
云计算
今天就跟大家聊聊有关Storm 中Fields有什么用,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
西岗网站建设公司创新互联公司,西岗网站设计制作,有大型网站制作公司丰富经验。已为西岗1000+提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的西岗做网站的公司定做!TransactionalTopologyBuilderbuilder=newTransactionalTopologyBuilder("test","spout",newTweetsTransactionalSpout());builder.setBolt("users-splitter",newUserSplitterBolt(),4).shuffleGrouping("spout");builder.setBolt("hashtag-splitter",newHashtagSplitterBolt(),4).shuffleGrouping("spout");builder.setBolt("user-hashtag-merger",newUserHashtagJoinBolt(),4).fieldsGrouping("users-splitter","users",newFields("tweet_id")).fieldsGrouping("hashtag-splitter","hashtags",newFields("tweet_id"));这里有两个bolt在向user-hashtag-merger发送数据,两个bolt在 emit的时候可能发送了不同的tuple比如:
users-splitter中emit(new Values(a, b, c)); declarer.declare(new Fields("id", "name", "tweet_id"));
hashtag-splitter中则emit(new Values(a, b)); declarer.declare(new Fields("id", "tweet_id"));
比如user-hashtag-merger中需要的是users-splitter中的c,hashtag-splitter 中的b,而在user-hashtag-merger
中接收数据的时候无法知道数据是哪个bolt发来的(或者就算知道,发来的数据格式不一样也不是一个好的设计)所以这边设定了一个
Fields,这样在发送数据的时候只发送指定Fields的数据,比如这边user-hashtag-merger不管前面bolt emit的时候
发送了什么,最后收到的只有一个,方便处理。
builder.setBolt("redis-committer",newRedisCommiterCommiterBolt()).globalGrouping("users-splitter","users").globalGrouping("hashtag-splitter","hashtags").globalGrouping("user-hashtag-merger");看完上述内容,你们对Storm 中Fields有什么用有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注资讯频道,感谢大家的支持。
成都网站建设公司地址:成都市青羊区太升南路288号锦天国际A座10层 建设咨询028-86922220
成都快上网科技有限公司-四川网站建设设计公司 | 蜀ICP备19037934号 Copyright 2020,ALL Rights Reserved cdkjz.cn | 成都网站建设 | © Copyright 2020版权所有.
专家团队为您提供成都网站建设,成都网站设计,成都品牌网站设计,成都营销型网站制作等服务,成都建网站就找快上网! | 成都网站建设哪家好? | 网站建设地图