Window Transformation

Description

Allows data to buffer for an allocated amount of time before it is pushed down the stream.

Configuration

To add the Window Transformation to a stream, follow the steps below:

  1. Ensure you have a use case open in the stream designer, this can be a new use case or an existing use case
  2. From the toolbox on the left expand the Transformation option and scroll down until you can see “Window Transformation”
    • You can also use the search in the header to find the stream object quickly
  3. Click and drag the Window Transformation from the toolbox onto the canvas
  4. Rename the Transformation by clicking into the text button on the action bar
  5. Save the Stream by clicking the save button in the action bar
  6. Hover over the icon for the stream object until it turns orange and then double click to open the configuration page
    • You can optionally use the configure option on the action bar once you have selected the specific stream object and then clicking this option
  7. Configuration options
    • The drop-down allows you to associate this stream object with a specific collection. The default option is derived from the default specified against the specific use case and is generated left as the same option. If you do need to change it to another collection make the change by selecting the new collection in the drop-down.
  8. Enter Window details
    • Select Unit from drop-down list
    • Enter Size
  9. Click Apply on the action bar, and then save the stream using the save button.
This agent is particularly useful when readings arrive very frequently (e.g. every 1 or 2 seconds), in batch processing or in situations when the cost or resources involved in performing a single operation are high.

  • For example, a window transformation would be useful in a scenario where a user needs to email records that are arriving every second. In such a case, instead of sending out 20 different emails in 20 seconds, the user can apply the window transformation with the use case ‘data buffering for 20 seconds’. As a result, records will buffer for 20 seconds, enabling the user to send out 1 email with all the accumulated records.
Limitations
  • None at this time.
Release Notes
Version: 3.04
Released: 16-Sep-2019
Release Notes: Add Partition and Distinct support along with option to Buffer by Count.
Version Released Release Notes
3.03 04-Sep-2019 Updated System.Reactive and System.Linq.Dynamic.Core.
3.02 05-March-2019 Updated help URL
3.01 28-May-2018 * Removed unsupported configuration options.
* Added try/catch to functions subscribed to observables.
* Moved remaining startup logic earlier in the object life cycle.

This is the legacy version of the XMPro Documentation site. For the latest XMPro documentation, please visit documentation.xmpro.com

X