I am afraid that this is not possible in FLink, since the entry point of
all transformation is the source function. Everything that we can
pre-process is in the source function or on the downstream operators.
If you want to pre-process something before the data hits the source you
will have to rely on the broker/storage/queue that the source consumes your
data, not in FLink.

Best,
Felipe
*--*
*-- Felipe Gutierrez*

*-- skype: felipe.o.gutierrez*
*--* *https://felipeogutierrez.blogspot.com
<https://felipeogutierrez.blogspot.com>*


On Tue, Nov 26, 2019 at 2:57 AM vino yang <yanghua1...@gmail.com> wrote:

> Hi Vijay,
>
> IMO, the semantics of the source is not changeless. It can contain
> integrate with third-party systems and consume events. However, it can also
> contain more business logic about your data pre-process after consuming
> events.
>
> Maybe it needs some customization. WDYT?
>
> Best,
> Vino
>
> Vijay Balakrishnan <bvija...@gmail.com> 于2019年11月26日周二 上午6:45写道:
>
>> Hi,
>> Need to pre-process data(transform incoming data to a different format)
>> before it hits the Source I have defined. How can I do that ?
>>
>> I tried to use a .map on the DataStream but that is too late as the data
>> has already hit the Source I defined.
>> FlinkKinesisConsumer<Map<String, Object>> kinesisConsumer =
>> getMonitoringFlinkKinesisConsumer(local, localKinesis, kinesisTopicRead,
>> region, getRecsMax, getRecsIntervalMs, connectionTimeout, maxConnections,
>> socketTimeout);
>> DataStreamSource<Map<String, Object>> monitoringDataStreamSource =
>> env.addSource(kinesisConsumer);
>>
>> DataStream<Map<String, Object>> kinesisStream1 = kinesisStream.map(new
>> TransformFunction(...));//too late here
>>
>> TIA,
>>
>

Reply via email to