Search

Home

Home

BUSBAR INTEGRATION

The BUSBAR INTEGRATION operator enables the joining of two data streams (data buses) according to predefined integration rules defined by the process designer. The operator’s behavior corresponds to the semantics of the JOIN operation known from SQL.

At the input, the operator receives two data buses. The user specifies:

  • the join type – for example, INNER JOIN (matching records in both data sets), LEFT JOIN, RIGHT JOIN, or CROSS JOIN.
  • the integration key – that is, a set of bits (columns) used to join records.

As a result of the operator’s execution, a new data bus is created, whose:

  • width (number of columns) is equal to the sum of the columns of the input buses,
  • number of records depends on the selected join type and the number of matches between input records.

This operator enables the creation of complex relationships between different data sources and the flexible merging of information within a single processing stream.

Typical use cases include:

  • enriching data with auxiliary information (e.g., dictionaries, price lists),
  • matching records from different sources,
  • processing relational data in the form of data buses.

An example of a GRAVITY project using the BUSBAR INTEGRATION:

image

OPERATOR CONFIGURATION

Because the input data buses may contain bits with the same names, you must specify prefixes specific to each input source, which will be used to label the columns of the output data stream.

image

You can choose from actions characteristic of the SQL language (see the glossary):

image

When configuring the integration of two data buses, you must decide how records from the two data streams should be joined.

  • INNER JOIN → this action joins records from both data buses that have equal values in the join columns (see the illustration below for the definition of join columns). The number of records on the output bus is the result of all matches between the join columns (the intersection). Records from both streams that cannot be joined are filtered out.
  • LEFT JOIN → for this action, the upper data bus (connected to the top input of the operator) is treated as the primary bus. The following records are sent to the output bus:
    • all matched records (see INNER JOIN). The join is performed based on the join columns (see the illustration below).
    • all unmatched records from the primary bus, extended with columns from the secondary bus containing NULL values.
  • RIGHT JOIN → for this action, the lower data bus (connected to the bottom input of the operator) is treated as the primary bus. The following records are sent to the output bus:
    • all matched records (see INNER JOIN). The join is performed based on the join columns (see the illustration below).
    • all unmatched records from the primary bus, extended with columns from the secondary bus containing NULL values.
  • OUTER JOIN → during this action, the operator passes through all records that would not be joined in a LEFT JOIN (having NULL values on the extended bus), all records that would not be joined in a RIGHT JOIN (also having NULL values on the extended bus), as well as all records that during a LEFT JOIN (or RIGHT JOIN) would be joined with records from the secondary data bus (the intersection).
  • CROSS JOIN → the output data bus carries a data stream representing the Cartesian product of the two streams (a matrix).
  • CROSS JOIN WITH NULL → the output data bus carries a data stream representing the Cartesian product of the two streams (a matrix). Fields with NULL values are also included.

In the JOIN COLUMNS tab, you specify the columns used to join the input data buses. You select columns by clicking a record field and choosing a column from the list of columns for the given data bus. Selecting columns from both data buses creates a join.

image

At any time, you can remove a column linkage by clicking the remove button in the list or by opening the context menu with a right-click on the selected row.

image

On the output data bus, you will receive all columns from both data buses, prefixed according to the Prefix columns from … settings in the Join type tab.

image