Thank you very much Matthias. Cheers, Nikos
2015-07-20 11:55 GMT-04:00 Matthias J. Sax <[email protected]>: > Hi, > > using declareStream() does not necessary declare a direct stream. There > are 4 methods: > > OutputFieldsDeclarer.declare(Fields) > OutputFieldsDeclarer.declare(boolean, Fields) > OutputFieldsDeclarer.declareStream(String, Fields) > OutputFieldsDeclarer.declareStream(String, boolean, Fields) > > To declare a direct stream, you must use the methods with boolean > parameter and set it to true (otherwise you declare a "regular" stream). > > The difference between declare() and declareStream() is, that you can > specify the name/ID of the stream using declareStream(). If you use > declare(), the stream get the name "default" (independent if you declare > it as regular or direct stream) > > Furthermore, the is no performance difference between regular and direct > streams (or streams with default name vs use specified name). > > (Internally, the first three methods just call the last method and add > boolean flag "false" and/or stream name "default".) > > -Matthias > > > On 07/20/2015 05:42 PM, Nick R. Katsipoulakis wrote: > > Hello, > > > > I was wondering whether there is a performance gain if in the > > declareOutputFields() of my spouts/bolts I use declareStream() instead > > of declare()? In other words, if I give a hint to Storm that I am using > > direct streams instead of letting the runtime figure it out by itself, > > will I see better performance? > > > > Thanks, > > Nikos > > > > -- Nikolaos Romanos Katsipoulakis, University of Pittsburgh, PhD candidate
