Note: This was originally posted by an inactive account. Content was preserved by moving under an admin account.
Originally posted by: awilliams1024Hi Jagdev,
I think you need to use a 'divide and conquer' approach rather than just a brute force approach. Rather than attempting to concatenate 300k reference locations into a single reference field/list.
I think you should consider splitting the reference locations into a number of subsets and then processing the location data across multiple lookup nodes.
I assume that the locations in the reference data are unique so there will only ever be one match from one of the lookup nodes. The processed data could then be concatenated using a Cat node.
It would also be best if you could split the location data by some pre-processing mechanism to reduce the number of records presented to each lookup node.
For instance you may want to have separate lookup nodes for USA and UK, and then split the location data on a coarse basis so that you steered the appropriate location records to the specified lookup node.
This would also introduce some parallelization as the current approach is single-threaded.
It would also be wise to introduce a Data Engineering approach, for instance: some sort of 'smart' ordering to the lookup data, e.g. order the locations, say, by city population descending so that they appeared earlier in the iteration loop and - meaning that a match would be found earlier for more frequently used locations.
Regards,
Adrian