[
https://issues.apache.org/jira/browse/BEAM-270?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15286181#comment-15286181
]
ASF GitHub Bot commented on BEAM-270:
-------------------------------------
GitHub user aljoscha opened a pull request:
https://github.com/apache/incubator-beam/pull/343
[BEAM-270] Support Timestamps/Windows in Flink Batch
This is a cleanup version of #328, this time for real.
The interesting things are in
`FlinkPartialReduceFunction`/`FlinkReduceFunction`,
`FlinkMergingPartialReduceFunction`/`FlinkMergingReduceFunction` and
`FlinkMergingNonShuffleReduceFunction`. All of these implement special cases of
windowing. The first two are for general, non-merging windows, the second set
is for doing a `GroupByKey`, the last one is for merging windows. In the last
case we cannot do a pre-shuffle combine step.
R: @kennknowles and @mxm for review
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/aljoscha/incubator-beam
flink-windowed-value-batch-cleanup
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/incubator-beam/pull/343.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #343
----
commit 93c3f99a6be44b7aad7859927c69974d368f9903
Author: Kenneth Knowles <[email protected]>
Date: 2016-05-02T20:11:12Z
Add TestFlinkPipelineRunner to FlinkRunnerRegistrar
This makes the runner available for selection by integration tests.
commit c48e1eaea4805359fdfc326d70b5d3c9964fe37f
Author: Kenneth Knowles <[email protected]>
Date: 2016-05-02T21:04:20Z
Configure RunnableOnService tests for Flink in batch mode
Today Flink batch supports only global windows. This is a situation we
intend our build to allow, eventually via JUnit category filtering.
For now all the test classes that use non-global windows are excluded
entirely via maven configuration. In the future, it should be on a
per-test-method basis.
commit 4cc1acc8630a2e436acd75f5aeb4ee6b01a38dc5
Author: Aljoscha Krettek <[email protected]>
Date: 2016-05-06T06:26:50Z
Fix Dangling Flink DataSets
commit 508eebafee0a762a59d5a21a07c26f43981c304f
Author: Aljoscha Krettek <[email protected]>
Date: 2016-05-06T07:38:55Z
Add hamcrest dependency to Flink Runner
Without it the RunnableOnService tests seem to not work
commit 3b1f064ca1f2985b6898d527f6174cc9055a1e4a
Author: Kenneth Knowles <[email protected]>
Date: 2016-05-06T17:54:41Z
Remove unused threadCount from integration tests
commit 99df86fc057d49fcf4e305d3523864d68cf5abd1
Author: Kenneth Knowles <[email protected]>
Date: 2016-05-06T17:55:16Z
Disable Flink streaming integration tests for now
commit 4b2eb1151e4cd7ef140a9e6e0eab251452ef7070
Author: Kenneth Knowles <[email protected]>
Date: 2016-05-06T19:49:55Z
Special casing job exec AssertionError in TestFlinkPipelineRunner
commit c45651fa434d91064a16f54d53b65f40eadad108
Author: Aljoscha Krettek <[email protected]>
Date: 2016-05-10T11:53:03Z
[BEAM-270] Support Timestamps/Windows in Flink Batch
With this change we always use WindowedValue<T> for the underlying Flink
DataSets instead of just T. This allows us to support windowing as well.
This changes also a lot of other stuff enabled by the above:
- Use WindowedValue throughout
- Add proper translation for Window.into()
- Make side inputs window aware
- Make GroupByKey and Combine transformations window aware, this
includes support for merging windows. GroupByKey is implemented as a
Combine with a concatenating CombineFn, for simplicity
This removes Flink specific transformations for things that are handled
by builtin sources/sinks, among other things this:
- Removes special translation for AvroIO.Read/Write and
TextIO.Read/Write
- Removes special support for Write.Bound, this was not working properly
and is now handled by the Beam machinery that uses DoFns for this
- Removes special translation for binary Co-Group, the code was still
in there but was never used
With this change all RunnableOnService tests run on Flink Batch.
commit 863aa2cb2a207449e9a711c4a9e248ed134939d4
Author: Aljoscha Krettek <[email protected]>
Date: 2016-05-13T12:17:50Z
Fix faulty Flink Flatten when PCollectionList is empty
commit 5c58830c2da4c0b86d80f93251b001f96edeef35
Author: Aljoscha Krettek <[email protected]>
Date: 2016-05-13T12:41:20Z
Remove superfluous Flink Tests, Fix those that stay in
All of the stuff in the removed ITCases is covered (in more detail) by
the RunnableOnService tests.
commit 5e6be8c757f89d933a4e6818cf7ef6316b7195d6
Author: Aljoscha Krettek <[email protected]>
Date: 2016-05-14T09:48:47Z
Fix last last outstanding test
----
> Support Timestamps/Windows in Flink Batch
> -----------------------------------------
>
> Key: BEAM-270
> URL: https://issues.apache.org/jira/browse/BEAM-270
> Project: Beam
> Issue Type: Sub-task
> Components: runner-flink
> Reporter: Aljoscha Krettek
> Assignee: Aljoscha Krettek
>
> Right now, Flink Batch execution does not use {{WindowedValue}} internally,
> this means that all programs that interact with timestamps/windows will not
> work. We should just internally wrap everything in {{WindowedValue}} as we do
> in Flink Streaming. This also makes it very straightforward to add support
> for windows.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)