✍ Kashif M ™
☎ +91 9994883085
✉ kashif7222@gmail.com


Wednesday, 7 October 2015

Joiner Transformation Interview Question ( Part - 1)

By on October 07, 2015

What is a Joiner Transformation and why it is an Active one?

A Joiner is an Active and Connected transformation used to join two source data streams coming from same or heterogeneous databases or files.

The Joiner transformation joins sources with at least one matching column. The Joiner transformation uses a condition that matches one or more pairs of columns between the two sources.

In the Joiner transformation, we must configure the transformation properties namely Join Condition, Join Type and optionally Sorted Input option to improve Integration Service performance.

The join condition contains ports from both input sources that must match for the Integration Service to join two rows. Depending on the join condition and the type of join selected, the Integration Service either adds the row to the result set or discards the row. Because of this reason, the number of rows in Joiner output may not be equal to the number of rows in Joiner Input. This is why Joiner is considered an Active transformation.

State the limitations where we cannot use Joiner in the mapping pipeline.


The Joiner transformation accepts input from most transformations. However, following are the limitations:

Joiner transformation cannot be used when either of the input pipelines contains an Update Strategy transformation.

Joiner transformation cannot be used if we connect a Sequence Generator transformation directly before the Joiner transformation.

Out of the two input pipelines of a joiner, which one will we set as the master pipeline?

During a session run, the Integration Service compares each row of the master source against the detail source. The master and detail sources need to be configured for optimal performance.

When the Integration Service processes an unsorted Joiner transformation, it blocks the detail source while it caches rows from the master source. Once the Integration Service finishes reading and caching all master rows, it unblocks the detail source and reads the detail rows. This is why if we have the source containing fewer input rows in master, the cache size will be smaller, thereby improving the performance.
For a Sorted Joiner transformation, use the source with fewer duplicate key values as the master source for optimal performance and disk storage. When the Integration Service processes a sorted Joiner transformation, it caches rows for one hundred keys at a time. If the master source contains many rows with the same key value, the Integration Service must cache more rows, and performance can be slowed.

What are the different types of Joins available in Joiner Transformation?


In SQL, a join is a relational operator that combines data from multiple tables into a single result set. The Joiner transformation is similar to an SQL join except that data can originate from different types of sources.

The Joiner transformation supports the following types of joins:


Master Outer

Detail Outer

Full Outer

Joiner Transformation Interview Question ( Part - 1)
Joiner Transformation Interview Question ( Part - 1)

A normal or master outer join performs faster than a full outer or detail outer join.

mkashu: Joiner Transformation Interview Question ( Part - 1)
Review : Kashif | Kashif
Update: October 07, 2015 | Rating: 4.5

Comment for "Joiner Transformation Interview Question ( Part - 1)"


  1. Awesome blog very well defined stuff thanks for sharing.

  2. For maximum depth, use reduced frequencies.