Shape Reference

Each shape in the Palette creates a specific type of stream or window, adapter, connection, reusable schema or module, or a store, to create a data flow.

Shapes in the Palette
Shape Purpose Usage
Connector

Creates flows between streams and windows, establishes references between streams and shared components, or attaches notes to shapes.

Click to select the connector tool, then click each of the shapes in the diagram to be connected..

Note Creates a comment on the diagram only. This comment does not appear in the CCL file.  
input_stream.gif Input Stream The entry point for unkeyed event streams into a project. Receives data from either an input adapter or an external publisher. A stream does not retain any data and does not have a state. Data in an input stream is not keyed.
local_stream.gif Derived Stream (Local)

stream.gif Derived Stream (Output)

Applies a continuous query to data arriving from another stream or window to produce a new stream. Streams do not retain data and do not have keys. They are "insert only," meaning that their output consists only of inserts. Input must be a stream or a stream-window join.

By default, new streams (including derived streams) are local, but you can change that property to output, to make them visible to external subscribers.

local_window.gif Derived Window (Local)

window.gif Derived Window (Output)

Applies a continuous query to data arriving from another stream or window. Retains data, and retention rules can be set. Data must be keyed so that every row has a unique key. Processes inserts, updates, and deletes both as local and output. You can use the toolbar to change the window to ouput, which makes it visible to external clients.
local_delta_stream.gif Derived Delta Stream (Local)

deltastream.gif Derived Delta Stream (Output)

Applies a continuous query downstream from a window where there is no need to retain state but there is a need to preserve insert, update, and delete operations. Can be used where a computation, filter, or union must be performed, but where a state does not need be maintained. Use the toolbar to change the derived delta stream to output if needed.
input_window.gif Input Window The entry point for event streams into a project where incoming events have primary keys and there is a desire to maintain a window of event data. Supports opcodes (insert, update, delete, upsert). Use this as an entry point for event streams if:
  • The stream contains insert, update and delete events, or,
  • You need to retain a set of incoming events.

Window size can be set by row count with a fixed number of input records, or by time with records being kept for a specified period. The window must be keyed, that is, every row must have a unique key value.

flex.gif Flex A programmable operator that uses custom SPLASH scripts to process incoming events. A Flex operator can take input from any number of streams and/or windows and will produce a new derived stream or window (either local or output).
aggregate_template.gif Aggregate Takes input from a single stream or window and groups records using a common attribute. Produces a single output record for each group. Uses aggregate functions like sum(), count(), and so on. Always creates a new window. Requires a GROUP BY element. You can optionally set window size using retention rules.
compute_template.gif Compute Takes input from a single source and computes a new record for every record received. Allows you to change the schema on events, computing new fields and changing existing fields. Produces a derived stream when the input is a stream. Produces a derived delta stream when the input is a window.
filter_template.gif Filter Takes input from a single source and applies a filter. Creates a stream of records that match the filter criteria. Produces a derived stream when the input is a stream. Produces a derived delta stream when the input is a window.
join_template.gif Join Takes input from two or more sources and joins them based on common data elements. See related information in this guide and the CCL Programmers Guide for join support details.
patternstream.gif Pattern Takes input from two or more sources and detects patterns of events. One output record is produced every time a pattern is detected.  
union_template.gif Union Merges input from two or more sources. One ouput record is produced for every input record. All inputs must have a common schema.
schema.gif Named Schema Reusable definition of column structure that can be referenced by streams and windows.  
module.gif Module Represents a CCL CREATE MODULE statement. Creates a new module that can be used in one or more places in the project. A module can contain all the same elements as a project and provides for reuse.
store.gif Log Store Stores data held in windows. Provides disk-based recovery but is slower than a memory store By default, new windows are assigned to a memory store. Where recoverability of data in a window is required, create a log store and assign the window to it.
store_memory.gif Memory Store Stores data held in windows. Faster than a log store but does not recover data after shutdown.
  • (Default) Created implicitly by the CCL compiler, if no other store is specified.
  • (Optional) Created explicitly, with windows assigned to specific stores, to optimize performance.
adapter_in Input Adapters Connects an input stream or input window to an external data source. Must be connected to either an input stream or input window. To use schema discovery—that is, to import the schema from the source—add the input adapter first, and then use schema discovery to create a connected input stream or window with the imported schema.
adapter_out.gif Output Adapters Connects an output stream or window to a destination. Must be connected to either an output stream or an output window.
Related concepts
Simple Queries
Join Types and Restrictions
Related tasks
Adding Shapes to a Diagram
Connecting Elements