You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ta...@apache.org on 2017/07/13 03:06:57 UTC
[45/50] [abbrv] beam git commit: Reflect #assignsToOneWindow in
WindowingStrategy
Reflect #assignsToOneWindow in WindowingStrategy
Project: http://git-wip-us.apache.org/repos/asf/beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/8ae2a790
Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/8ae2a790
Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/8ae2a790
Branch: refs/heads/DSL_SQL
Commit: 8ae2a790978267ea48e9c3601ba6551d1141a11e
Parents: 83f31e9
Author: Thomas Groh <tg...@google.com>
Authored: Tue Jun 27 15:03:11 2017 -0700
Committer: Tyler Akidau <ta...@apache.org>
Committed: Wed Jul 12 20:01:02 2017 -0700
----------------------------------------------------------------------
.../runners/core/construction/WindowingStrategyTranslation.java | 1 +
.../core/construction/WindowingStrategyTranslationTest.java | 3 +++
sdks/common/runner-api/src/main/proto/beam_runner_api.proto | 5 +++++
3 files changed, 9 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/beam/blob/8ae2a790/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslation.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslation.java b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslation.java
index 88ebc01..1456a3f 100644
--- a/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslation.java
+++ b/runners/core-construction-java/src/main/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslation.java
@@ -307,6 +307,7 @@ public class WindowingStrategyTranslation implements Serializable {
.setAllowedLateness(windowingStrategy.getAllowedLateness().getMillis())
.setTrigger(TriggerTranslation.toProto(windowingStrategy.getTrigger()))
.setWindowFn(windowFnSpec)
+ .setAssignsToOneWindow(windowingStrategy.getWindowFn().assignsToOneWindow())
.setWindowCoderId(
components.registerCoder(windowingStrategy.getWindowFn().windowCoder()));
http://git-wip-us.apache.org/repos/asf/beam/blob/8ae2a790/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java
----------------------------------------------------------------------
diff --git a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java
index e406545..7a57fd7 100644
--- a/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java
+++ b/runners/core-construction-java/src/test/java/org/apache/beam/runners/core/construction/WindowingStrategyTranslationTest.java
@@ -116,5 +116,8 @@ public class WindowingStrategyTranslationTest {
protoComponents.getCodersOrThrow(
components.registerCoder(windowingStrategy.getWindowFn().windowCoder()));
+ assertThat(
+ proto.getAssignsToOneWindow(),
+ equalTo(windowingStrategy.getWindowFn().assignsToOneWindow()));
}
}
http://git-wip-us.apache.org/repos/asf/beam/blob/8ae2a790/sdks/common/runner-api/src/main/proto/beam_runner_api.proto
----------------------------------------------------------------------
diff --git a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto
index 1f74afb..711da2a 100644
--- a/sdks/common/runner-api/src/main/proto/beam_runner_api.proto
+++ b/sdks/common/runner-api/src/main/proto/beam_runner_api.proto
@@ -439,6 +439,11 @@ message WindowingStrategy {
// (Required) Indicate whether empty on-time panes should be omitted.
OnTimeBehavior OnTimeBehavior = 9;
+
+ // (Required) Whether or not the window fn assigns inputs to exactly one window
+ //
+ // This knowledge is required for some optimizations
+ bool assigns_to_one_window = 10;
}
// Whether or not a PCollection's WindowFn is non-merging, merging, or