Hi Randal,

Can you share the code for the 1st approach
(FlinkKinesisConsumer.setPeriodicWatermarkAssigner))?
I think the 2nd approach (flatMap) can be improved by partitioning the
stream the same way kinesis does (i.e. same partition key).

Regards,
Roman


On Mon, Dec 7, 2020 at 2:44 PM Randal Pitt <randal.p...@foresite.com> wrote:

> Hi there,
>
> We're using Flink to read from a Kinesis stream. The stream contains
> messages that themselves contain lists of events and we want our Flink jobs
> (using the event time characteristic) to process those events individually.
> We have this working using flatMap in the DataStream but we're having
> trouble correctly assigning timestamps to the events.
>
> We have been using FlinkKinesisConsumer.setPeriodicWatermarkAssigner() as
> that should mean the watermarks are generated correctly, but it results in
> all events in one message sharing a timestamp, resulting in some events
> being assigned to the wrong window.
>
> Using DataStream.assignTimestampsAndWatermarks() after the flatMap means we
> can assign the correct timestamps, but the watermarks may not necessarily
> be
> correct with respect to the Kinesis shards.
>
> Is there are strategy we can use that gets us both watermarks from the
> Kinesis consumer and correct timestamps for individual events?
>
> Best regards,
>
> Randal.
>
>
>
> --
> Sent from:
> http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/
>

Reply via email to