Need to better way to create JSON If we have TableSchema and Row

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Need to better way to create JSON If we have TableSchema and Row

Shivam Sharma
Hi All,

I have TableSchema object and a Flink Row object(or list). Do we have any straightforward way to convert Row object into JSON by using Schema?

For Example:-
TableSchema- 
   - columnNames: [name, count]
   - columnTypes: [String, Integer]
Row - ("shivam", 2)
JSON - {"name": "shivam", count: 2}

Thanks
--
Shivam Sharma
Data Engineer @ Goibibo
Indian Institute Of Information Technology, Design and Manufacturing Jabalpur
Mobile No- (+91) 8882114744
Reply | Threaded
Open this post in threaded view
|

Re: Need to better way to create JSON If we have TableSchema and Row

Hequn Cheng
Hi shivam,

It seems there is no such a function but you can write one by yourself, maybe use the com.fasterxml.jackson.databind.ObjectMapper.

Best, Hequn

On Thu, Jul 12, 2018 at 1:56 AM, Shivam Sharma <[hidden email]> wrote:
Hi All,

I have TableSchema object and a Flink Row object(or list). Do we have any straightforward way to convert Row object into JSON by using Schema?

For Example:-
TableSchema- 
   - columnNames: [name, count]
   - columnTypes: [String, Integer]
Row - ("shivam", 2)
JSON - {"name": "shivam", count: 2}

Thanks
--
Shivam Sharma
Data Engineer @ Goibibo
Indian Institute Of Information Technology, Design and Manufacturing Jabalpur
Mobile No- (+91) 8882114744

Reply | Threaded
Open this post in threaded view
|

Re: Need to better way to create JSON If we have TableSchema and Row

Timo Walther
Hi Shivam,

Flink 1.5 provides full Row-JSON-Row conversions. You can take a look at the `flink-json` module. A table schema can be converted into a TypeInformation (Types.ROW(schema.getColumns(), schema.getTypes())) which can be used to configure JsonRowSerialization/DeserializationSchemas. If you are looking for a string output. We might need to refactor those classes a little bit to also use the conversion functionality for non-binary output.

Regards,
Timo

Am 12.07.18 um 03:38 schrieb Hequn Cheng:
Hi shivam,

It seems there is no such a function but you can write one by yourself, maybe use the com.fasterxml.jackson.databind.ObjectMapper.

Best, Hequn

On Thu, Jul 12, 2018 at 1:56 AM, Shivam Sharma <[hidden email]> wrote:
Hi All,

I have TableSchema object and a Flink Row object(or list). Do we have any straightforward way to convert Row object into JSON by using Schema?

For Example:-
TableSchema- 
   - columnNames: [name, count]
   - columnTypes: [String, Integer]
Row - ("shivam", 2)
JSON - {"name": "shivam", count: 2}

Thanks
--
Shivam Sharma
Data Engineer @ Goibibo
Indian Institute Of Information Technology, Design and Manufacturing Jabalpur
Mobile No- (+91) 8882114744