Thanks. In that case keeping both in parallel, and tying the switch in
the default to a (possibly overridable) choice of Flink version, makes
a lot of sense.

On Wed, Feb 1, 2023 at 3:33 PM Becket Qin <becket....@gmail.com> wrote:
>
> Hi Robert,
>
> Thanks for the feedback. This change will be transparent to the user 
> applications in most cases. However, there are still a few differences 
> visible to the users.
>
> 1. Configurations. DataStream and DataSet take different configurations.
> 2. Metrics. DataStream operators and DataSet operators may emit different 
> metrics.
> 3. Some other potential behavior change. The DataSet API currently goes 
> through a simple optimizer, while the DataStream API does not. And the 
> underlying operator implementations are also different. So users may find 
> their job execution topology changes after switching to DataStream.
> 4. Resource consumption. Because the underlying operator implementations are 
> different, the resource consumption may be different.
>
> So, in general I feel it is probably safer to keep the DataSet execution path 
> for some time before we remove it completely.
>
> Thanks,
>
> Jiangjie (Becket) Qin
>
>
>
> On Thu, Feb 2, 2023 at 1:23 AM Robert Bradshaw via dev <dev@beam.apache.org> 
> wrote:
>>
>> This sounds reasonable to me. One question I have is why a user would
>> prefer to stick with the DataSet API if the DataStream API is
>> available. Would there be any user-visible difference?
>>
>> On Wed, Feb 1, 2023 at 1:11 AM Becket Qin <becket....@gmail.com> wrote:
>> >
>> > Hi Beam devs,
>> >
>> > I'd like to start a discussion about migrating the Flink runner to execute 
>> > the batch jobs in DataStream API instead of DataSet API.
>> >
>> > Today Flink runner executes batch jobs with DataSet API which is 
>> > semi-deprecated and will be removed sometime in future Flink releases. 
>> > Flink DataStream API has been extended to replace DataSet API for batch 
>> > job execution. So here we propose to migrate the Flink Beam runner from 
>> > DataSet to DataStream for batch job execution.
>> >
>> > I have compiled this one pager[1] to explain the motivation, interface 
>> > change, migration plan and proposed changes. We also have a PoC 
>> > implementation of this migration[2] which has passed the existing unit 
>> > tests and runner validation tests.
>> >
>> > Would love to get your thoughts on this.
>> >
>> > BTW, I am starting this discussion thread as I am not sure whether this 
>> > change is considered as a large change[3] or not. If there is no concern 
>> > for the change, I'll just create the GitHub issues and start to work on it.
>> >
>> > Also, I have worked with Xinyu Liu on the PoC implementation, and Xinyu 
>> > has agreed to help review the patches (thank you Xinyu). It would be great 
>> > if someone who has worked on Flink runner before can also help with the PR 
>> > reviews.
>> >
>> > Thanks,
>> >
>> > Jiangjie (Becket) Qin
>> >
>> > [1] 
>> > https://docs.google.com/document/d/1cjUJHOS1eEkH76hMNeBuc-kPhbIIc9w2gvjm8miIFS8/edit?usp=sharing
>> > [2] https://github.com/becketqin/beam/tree/flink-batch-runner-migration
>> > [3] 
>> > https://github.com/apache/beam/blob/14e8de6e99a031ba7376bdb6837d471648878932/CONTRIBUTING.md

Reply via email to