| //// |
| Licensed to the Apache Software Foundation (ASF) under one |
| or more contributor license agreements. See the NOTICE file |
| distributed with this work for additional information |
| regarding copyright ownership. The ASF licenses this file |
| to you under the Apache License, Version 2.0 (the |
| "License"); you may not use this file except in compliance |
| with the License. You may obtain a copy of the License at |
| http://www.apache.org/licenses/LICENSE-2.0 |
| Unless required by applicable law or agreed to in writing, |
| software distributed under the License is distributed on an |
| "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| KIND, either express or implied. See the License for the |
| specific language governing permissions and limitations |
| under the License. |
| //// |
| :documentationPath: /pipeline/transforms/ |
| :language: en_US |
| :description: The Beam Window transform adds event-time-based window functions using the Beam execution engine. |
| |
| = image:transforms/icons/beam-window.svg[Beam Window Icon, role="image-doc-icon"] Beam Window |
| |
| [%noheader,cols="3a,1a", role="table-no-borders" ] |
| |=== |
| | |
| == Description |
| |
| The Beam Window transform adds event-time-based window functions using the Beam execution engine. |
| | |
| == Supported Engines |
| [%noheader,cols="2,1a",frame=none, role="table-supported-engines"] |
| !=== |
| !Hop Engine! image:cross.svg[Not Supported, 24] |
| !Spark! image:check_mark.svg[Supported, 24] |
| !Flink! image:check_mark.svg[Supported, 24] |
| !Dataflow! image:check_mark.svg[Supported, 24] |
| !=== |
| |=== |
| |
| == Options |
| |
| [options="header"] |
| |=== |
| |Option|Description |
| |Transform name|Name of the transform, this name has to be unique in a single pipeline. |
| |Window type a| |
| |
| * Fixed |
| * Sliding |
| * Session |
| * Global |
| |Window size (duration in seconds)|Sets the window duration size in seconds, default 60. |
| |Every x seconds (Sliding windows)|Sets the slide window duration in seconds. |
| |Window start field|The field containing the window start time. |
| |Window end field|The field containing the window end time. |
| |Window max field|The field containing the max duration between events. |
| |=== |
| |
| == Window Types |
| |
| === Fixed |
| |
| Fixed or tumbling windows are used to repeatedly segment data into distinct time segments and do not overlap. |
| Events cannot belong to more than one window. |
| |
| === Sliding |
| |
| Sliding windows produce an output only when an event occurs and continuously move forward. |
| Every window will have at least one event and can overlap. |
| Events can belong to more than one window. |
| |
| === Session |
| |
| Session windows group events which arrive at similar times and filter out periods of time when there is no data. |
| |
| The window begins when the first event occurs and extends to include new events within a specified timeout. |
| If events keep occurring the window will keep extending until maximum duration is reached. |
| |
| === Global |
| |
| Global windowing is the default in Beam and ignores event time (spanning all of event time) and uses triggers to provide snapshots of that window. |