Apache Storm中Fields类的用途是什么

时间:2015-12-29 15:35:05

标签: apache-storm

我正在经历Apache Storm的一个例子。 以下是Bolt类的片段     public void declareOutputFields(OutputFieldsDeclarer declarer){
    declarer.declare(new Fields(" word"));
}

声明用于表示博尔特将发射的那种场。所以上面的语法是什么意思,当它说"新领域("字")"。

1 个答案:

答案 0 :(得分:2)

它定义了输出元组的模式。即,元组具有多少属性以及每个属性的名称。

Fields("word")定义了一个名为word的单个属性的模式。因此,如果您调用collector.emit(new Values(...)),则参数列表必须包含单个值。

在接收方(即消耗输出流的螺栓)上,您可以通过索引或名称访问属性;名称是生产者通过Fields声明的名称。

在您的示例中,消费者可以通过input.getX(0)input.getXByName("word")访问该属性。