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

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

我有一个螺栓“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”属性。
例如,在您的案例中,您可以定义如下流:

  1. streams:
  2. - id: "XBOLT --> YBOLT"
  3. from: "XBOLT"
  4. to: "YBOLT"
  5. grouping:
  6. type: SHUFFLE
  7. streamId: "ARCHIVED"
  8. - id: "XBOLT --> ZBOLT"
  9. from: "XBOLT"
  10. to: "ZBOLT"
  11. grouping:
  12. type: SHUFFLE
  13. streamId: "INTRESTED"

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

展开查看全部

相关问题