Apache Storm 中字段 class 的用途是什么
What is the purpose of Fields class in Apache Storm
我正在查看 Apache Storm 的示例之一。
以下是 Bolt class
的片段
public void declareOutputFields(OutputFieldsDeclarer declarer) {
declarer.declare(新字段("word"));
}
Declarer 用于表示 Bolt 将发出的字段类型。那么上面的语法在说“ new Fields("word") ”时是什么意思。
它定义了输出元组的模式。即,一个元组有多少个属性以及每个属性的名称。
Fields("word")
定义了一个具有名为 word
的单个属性的模式。因此,如果调用 collector.emit(new Values(...))
,参数列表必须包含单个值。
在接收方(即消耗输出流的螺栓),您可以通过索引或名称访问属性;该名称是生产者通过 Fields
声明的名称。
在您的示例中,消费者可以通过 input.getX(0)
或 input.getXByName("word")
访问属性。
我正在查看 Apache Storm 的示例之一。
以下是 Bolt class
的片段
public void declareOutputFields(OutputFieldsDeclarer declarer) {
declarer.declare(新字段("word"));
}
Declarer 用于表示 Bolt 将发出的字段类型。那么上面的语法在说“ new Fields("word") ”时是什么意思。
它定义了输出元组的模式。即,一个元组有多少个属性以及每个属性的名称。
Fields("word")
定义了一个具有名为 word
的单个属性的模式。因此,如果调用 collector.emit(new Values(...))
,参数列表必须包含单个值。
在接收方(即消耗输出流的螺栓),您可以通过索引或名称访问属性;该名称是生产者通过 Fields
声明的名称。
在您的示例中,消费者可以通过 input.getX(0)
或 input.getXByName("word")
访问属性。