storm-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Software Dev <static.void....@gmail.com>
Subject Re: Working with JSON
Date Tue, 01 Apr 2014 16:41:39 GMT
Michael our input is actually in the form of Avro (Avro Camus encoded
actually). We were thinking about having a bolt that deserializes the
camus encoded record (GenericData.Record) to JSON and then pass that
around. From what I gather from this thread, passing around JSON and
deserializing is probably not the best. Should we just be passing
around the GenericData.Record? If so, is there any special
serialization we need to do? Is this the best approach?

On Mon, Mar 31, 2014 at 11:33 AM, Michael G. Noll
<michael+storm@michael-noll.com> wrote:
> On 03/31/2014 07:31 PM, Michael Rose wrote:
>> It's much more efficient to deserialize it once then pass around POJOs.
>> JSON serialization is slow compared to Kryo. Our topologies tend to take
>> in JSON, then emit JSON to external systems at later phases, but all
>> intermediate stages are POJOs.
>
> +1 to what Michael (Rose) said.  Don't forget to register the required
> Kryo serializers for your pojos though.
>
> Also, consider the use of Avro.  You can turn Avro into JSON once you
> actually do need JSON.  Tools like Twitter Bijection and Twitter Chill
> make this as simple as it can get (Avro also ships with JSON support,
> but IMHO Bijection/Chill are preferable).
>
> Michael
>
>
>

Mime
View raw message