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

Blake Wilson edited comment on FLINK-20060 at 2/10/21, 2:29 AM:
----------------------------------------------------------------

Voicing support for addressing this. Deserialization with a Collector would be 
a great usability enhancement for applications which encode a series of values 
in a single Kinesis record. It would also save a great deal of serialization 
since the current API requires adding a separate task to flatten kinesis 
records:

KinesisConsumer — DataStream<List<T>> FlattenItems ------ DataStream<T> ---->

The serialization cost of introducing this extra task is quite dramatic when 
using a durable backend like the RocksDB one used in Kinesis Data Analytics


was (Author: blake wilson):
Voicing support for addressing this. Deserialization with a Collector would be 
a great usability enhancement for applications which encode a series of values 
in a single Kinesis record. It would also save a great deal of serialization 
since the current API requires adding a separate task to flatten kinesis 
records:

KinesisConsumer — DataStream<List<T>> FlattenItems ------ DataStream<T>->

The serialization cost of introducing this extra task is quite dramatic when 
using a durable backend like the RocksDB one used in Kinesis Data Analytics

> Add a Collector to KinsesisDeserializationSchema
> ------------------------------------------------
>
>                 Key: FLINK-20060
>                 URL: https://issues.apache.org/jira/browse/FLINK-20060
>             Project: Flink
>          Issue Type: New Feature
>          Components: Connectors / Kinesis
>            Reporter: Timo Walther
>            Priority: Major
>
> We did not add support for a collector in the KinesisDeserializationSchema.
> The problem with that connector lays in the threading model, where there is a 
> pool of threads that read and deserialize records and then they handover the 
> deserialized messages through a queue to the main thread. The problem is that 
> we would need to create many temporary collections to put the deserialized 
> records into the handover queue, which potentially would significantly affect 
> performance, especially in the usual case of deserializing a single record 
> from a single message.
> This means that we can currently not support the Debezium format for in the 
> SQL connector if the Debezium record needs to emit 2 rows (UPDATE_BEFORE and 
> UPDATE_AFTER).



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to