如何在yaml中使用apachestorm和flux来监听bolt中的特定流

rseugnpd  于 2021-06-21  发布在  Storm
关注(0)|答案(2)|浏览(284)

我有一个螺栓“xbolt”。这将根据很少的条件发出两个流(intrested和archive)。
然后我有两个螺栓“ybolt”和“zbolt”。他们两个都在听xbolt,但是在不同的流上。例如,ybolt将侦听xbolt的存档流,zbolt将侦听xbolt的inrested流。
我最近开始在storm中使用flux,并尝试实现上述功能。
流:
名称:“xbolt-->ybolt”从:“xbolt”到:“ybolt”分组:类型:shuffle
名称:“xbolt-->zbolt”从:“xbolt”到:“zbolt”分组:类型:shuffle
现在,在分组部分,我应该需要一个像“stream”这样的字段吗?否则它怎么知道监听xbolt的特定流呢?

gcxthw6b

gcxthw6b1#

上面的答案很接近,但实际上应该是:
streams: - name: "XBOLT --> YBOLT" from: "XBOLT" to: "YBOLT" grouping: type: SHUFFLE streamId: "ARCHIVED" - name: "XBOLT --> ZBOLT" from: "XBOLT" to: "ZBOLT" grouping: type: SHUFFLE streamId: "INTRESTED"

k0pti3hp

k0pti3hp2#

是的,您可以使用另一个字段来指定流的名称。您可以在流定义的分组部分中使用“streamid”属性。
例如,在您的案例中,您可以定义如下流:

streams:
   - id: "XBOLT --> YBOLT"
     from: "XBOLT"
     to: "YBOLT"
     grouping:
       type: SHUFFLE
       streamId: "ARCHIVED"

   - id: "XBOLT --> ZBOLT"
     from: "XBOLT"
     to: "ZBOLT"
     grouping:
       type: SHUFFLE
       streamId: "INTRESTED"

为了便于参考,您可以查看本文档的流和流分组部分。该文档是为版本2快照,但它与我的风暴和通量版本的0.10.0工作良好
http://storm.apache.org/releases/2.0.0-snapshot/flux.html

相关问题