Join on Condition
Joins rows based on a condition
Processing
The step accepts two streams of rows, coming from two input gates left
and right
.
It matches left and right rows based on a condition evaluated for each pair of rows.
If the condition evaluates to true
, the rows form a matching pair.
Join Algorithm
The step uses a join algorithm that loops over one side of the join repeatedly, while looking at each row of the other side only once. Performance is best if the side that is looped over has fewer input rows, and the side streamed through has more.
Settings
Name | Type | Description | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Join | |||||||||||||||||
Mode |
string |
The join mode to use. Possible modes are:
Evaluated once when step initializes |
|||||||||||||||
Method |
string |
The processing method of the algorithm. You can optimize performance by specifying which input is expected to have more rows. Evaluated once when step initializes |
|||||||||||||||
Condition |
N/A |
The condition that determines whether two rows are a match. The condition is evaluated and the result is cast to boolean. If the resulting value is The following variables are available:
Evaluated for each pair of rows |
|||||||||||||||
Output | |||||||||||||||||
Output |
N/A |
Determines the structure of output rows:
|
|||||||||||||||
Left Fields Prefix |
N/A | Field names from the left side are prefixed with this in the output. | |||||||||||||||
Right Fields Prefix |
N/A | Field names from the right side are prefixed with this in the output. |
Results
Name | Type | Description |
---|---|---|
left |
dict |
Currently matched left row. This value is nil for empty joins that are the result of an outer join. |
right |
dict |
Currently matched right row. This value is nil for empty joins that are the result of an outer join. |