暴增加工富集



我们有一个专门用于处理社交媒体内容的系统。在我们的storm拓扑中,我们有一些需要处理的问题,比如情感分析、语言检测、垃圾邮件检测等等。在storm上准备的所有教程和示例中,我们已经看到了一个螺栓可以发出在declareOutputFields()方法中声明的元组字段。是否有任何选项发射当前螺栓的字段与输入元组?

例如,我有一个包含以下字段的输入元组:

& lt;

text: bla bla

username: Paul

日期:01.01.2013

来源:推特

>

我想将输出元组定义为:

& lt;

text: bla bla

用户名:保罗

日期:01.01.2013

来源:推特

朗:tr

>

注意,我希望我的螺栓不需要知道任何关于之前螺栓的输出元组模式。

谢谢。

您可以通过编写一个函数来实现类似的功能,该函数在给定某些输入时返回一个螺栓,而不是直接写入螺栓。您可以通过编写一个函数来参数化螺栓的创建,该函数将返回一个具有所需输出字段的螺栓对象。

显然,这必须在您部署拓扑时完成,因此它不能在运行时在流上是动态的,但它可以在启动时是动态的。就像

(defn make-bolt [bolt-name input-fields]
  (defbolt bolt-name input-fields
    ...))
....
(topology
 {} ;; spouts
 {"a-bolt" (bolt-spec {"a-spout":shuffle}
                      (make-bolt bolt-name ["input" "tuple" "lang"]))))

相关内容

  • 没有找到相关文章

最新更新