Thanks A second pair of eyes helps :) I wonder why string.toLong didn't work ..
From: Jon Logan [mailto:[email protected]] Sent: December-18-13 5:30 PM To: [email protected] Subject: Re: emitting various types - how to send long as string and unmarshal into long http://stackoverflow.com/questions/7693324/converting-string-to-long-in-java On Wed, Dec 18, 2013 at 5:25 PM, Adrian Mocanu <[email protected]<mailto:[email protected]>> wrote: Hi I have a quick question about sending data of different types from a spout. I need to emit a string, double and long from a spout (all at once as a tuple). Unfortunately Values c'tor takes arguments of the same type so I decided to convert all of these to Strings. _collector.emit(new Values(myNameAsString, myDouble.toString, myLong.toString )) When the tuple is received in the bolt it cannot convert the long back into a long. java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long I looked at the value and it is a valid long: 61345076523000 The bolt code that does the str2int conversion is val tupleTimestampAsLong: Long= tuple.getString(2).toLong The question, how to emit multiple values of different types from spout/bolt at once? (or at least how to convert a string into a long). Thanks a lot! -Adrian
