OUTER LEFT JOIN Doesn't Display All Values From Left Sheet

Problem

  • Create a Workbook with few Join operations (For e.g. 3 OUTER_LEFT and 2 INNER Joins).
  • One of OUTER_LEFT Joins doesn't show expected behavior and returns only matching values from 2 Sheets (like INNER Join) instead of all values from the left side and matching values from the right one.
  • When number of records at FlipSheet after the Workbook's execution are checked, you may see something like below.
Left side Join Sheet has 9402 records.
Right side Join Sheet has 9487 records.
Join Sheet contains - 8341 records, when expected 9402.

Cause

This is identified as a defect and is tracked via an internal ticket with ID: DAP-35407

Solution

The fix is incorporated into Datameer releases 6.1.32, 6.3.7, 6.4.4, and 7.1.1. One can upgrade to the closest higher maintenance release to get the fix

As a temporary workaround:
  • Move impacted Join into a separate Workbook or use OUTER RIGHT JOIN with switched sides.

                                          OR

  • Disable map side join strategy by setting
    das.join.disabled-strategies=MEMORY_BACKED_MAP_SIDE

Please keep in mind that this property disables certain optimization for Join operations and may impact execution time of Workbooks that contain complex or heavy Joins. Therefore it is recommended to use this custom property at a job level only for Workbooks affected by the mentioned defect.

Please contact Datameer Technical Support for further information.