日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

Storm 中Fields有什么用

發(fā)布時間:2023/12/1 综合教程 36 生活家
生活随笔 收集整理的這篇文章主要介紹了 Storm 中Fields有什么用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

云計算

今天就跟大家聊聊有關Storm 中Fields有什么用,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

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發(fā)送數據,兩個bolt在 emit的時候可能發(fā)送了不同的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發(fā)來的(或者就算知道,發(fā)來的數據格式不一樣也不是一個好的設計)所以這邊設定了一個

Fields,這樣在發(fā)送數據的時候只發(fā)送指定Fields的數據,比如這邊user-hashtag-merger不管前面bolt emit的時候

發(fā)送了什么,最后收到的只有一個,方便處理。

builder.setBolt("redis-committer",newRedisCommiterCommiterBolt()).globalGrouping("users-splitter","users").globalGrouping("hashtag-splitter","hashtags").globalGrouping("user-hashtag-merger");

看完上述內容,你們對Storm 中Fields有什么用有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注資訊頻道,感謝大家的支持。

總結

以上是生活随笔為你收集整理的Storm 中Fields有什么用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。