Thanks for your feedback. 

I go with specific Kryo serialisation as it make the code easier to use and if 
I encounter perf. Problems I can change the dataformat later. 

Med venlig hilsen / Best regards
Lasse Nedergaard


> Den 24. feb. 2021 kl. 17.44 skrev Maciej Obuchowski 
> <obuchowski.mac...@gmail.com>:
> 
> Hey Lasse,
> I've had a similar case, albeit with Avro. I was reading from multiple
> Kafka topics, which all had different objects and did some metadata
> driven operations on them.
> I could not go with any concrete predefined types for them, because
> there were hundreds of different object types.
> 
> My solution was to serialize the object itself manually as byte[] and
> deserialize it manually in operator.
> You can do it the same way using something like
> objectMapper.writeValueAsBytes and transfer data as Tuple2<String,
> byte[]>.
> 
> Overall, Flink does not support "dynamic" data types very well.
> 
> Regards,
> Maciej
> 
> śr., 24 lut 2021 o 17:08 Lasse Nedergaard
> <lassenedergaardfl...@gmail.com> napisał(a):
>> 
>> Hi
>> 
>> I’m looking for advice for the best and simplest solution to handle JSON in 
>> Flink.
>> 
>> Our system is data driven and based on JSON. As the structure isn’t static 
>> mapping it to POJO isn’t an option I therefore transfer ObjectNode and / or 
>> ArrayNode between operators either in Tuples
>> Tuple2<String, ObjecNode> or as attributes in POJO’s.
>> 
>> Flink doesn’t know about Jackson objects and therefore fail back to Kryo
>> 
>> I see two options.
>> 1. Add kryo serialisation objects for all the Jackson types we use and 
>> register them.
>> 2. Add Jackson objects as Flink types.
>> 
>> I guess option 2 perform best, but it require an annotation for the classes 
>> and I can’t do that for 3. Party objects. One workaround could be to create 
>> my own objects that extends the Jackson objects and use them between 
>> operators.
>> 
>> I can’t be the first to solve this problem so I like to hear what the 
>> community suggests.
>> 
>> Med venlig hilsen / Best regards
>> Lasse Nedergaard
>> 

Reply via email to