You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@storm.apache.org by "Anton Alfred (JIRA)" <ji...@apache.org> on 2017/11/20 02:05:00 UTC

[jira] [Comment Edited] (STORM-2819) Ability to natively support JSON serialization in topologies

    [ https://issues.apache.org/jira/browse/STORM-2819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16258721#comment-16258721 ] 

Anton Alfred edited comment on STORM-2819 at 11/20/17 2:04 AM:
---------------------------------------------------------------

I am trying to question the existence of Kryo for Json.

We currently have Java Native namely String, Int etc
In order to solve a custom object not known to Storm a serializing framework  was picked namely Kryo.
What I am proposing is just like a native String the Json namely JsonObject /JsonArray should be default available similar to why Kryo was picked. There is no need to write any code for the native Json support like what you given in the example. One can just pass a JsonObject without registering serializer like a String object would.

Unlike a Custom object like a Person object where each implementation would be different based on clients and we need to register a serializer with Kryo, Json is standard. To solve which Json serializer to pick the same choices for Kryo can be given so that one could change just like Kryo. So if gson was picked similar to Kryo, once could give option to change the serializer to json-simple.

Though Kryo can serialize a class of type JsonObject, its not native and we should use it for its purpose.

so the following
Native Java
*    String
*    Integer
Native Json
*    JsonObject
*    JsonArray
Custom Object
*    Kryo framework with Registers




 








was (Author: antonpious@gmail.com):
I am trying to question the existence of Kryo for Json.

We currently have Java Native namely String, Int etc
In order to solve a custom object not known to Storm a serializing framework  was picked namely Kryo.
What I am proposing is just like a native String the Json namely JsonObject /JsonArray should be default available similar to why Kryo was picked. There is no need to write any code for the native Json support like what you given in the example. One can just pass a JsonObject without registering serializer like a String object would.

Unlike a Custom object like a Person object where each implementation would be different based on clients and we need to register a serializer with Kryo, Json is standard. To solve which Json serializer to pick the same choices for Kryo can be given so that one could change just like Kryo. So if gson was picked similar to Kryo, once could give option to change the serializer to json-simple.

Though Kryo can serialize a class of type JsonObject, its not native and we should use it for its purpose.

so the following
Native Java
   String
   Integer
Native Json
   JsonObject
   JsonArray
Custom Object
   Kryo framework with Registers




 







> Ability to natively support JSON serialization in topologies
> ------------------------------------------------------------
>
>                 Key: STORM-2819
>                 URL: https://issues.apache.org/jira/browse/STORM-2819
>             Project: Apache Storm
>          Issue Type: Improvement
>          Components: storm-core
>    Affects Versions: 1.0.2
>         Environment: CentOS7, Docker
>            Reporter: Anton Alfred
>            Priority: Minor
>              Labels: features
>
> Now that the world is moving towards NoSQL and most of the data is in JSON. Can a native JSON Serializer be implemented similar to support for Kryo. 



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)