Using one single interface to load changes that occur in any dimensions
When data is de-normalized, data that is originally in multiple source tables often ends up in a single target table. From that perspective, changes that occur in any one of the source tables have to be reflected in the same target table.
One challenge here is that if you simply join the changes from the different source tables while loading the target table, you will only have data to load if all tables have changes: that is, if we simply join the changes from SRC_EMP
to the changes from SRC_DEPT
, we will only have target data to process when changes occur simultaneously in both tables. If one of the sets is empty, then we will have nothing to process.
For this reason, ODI will only accept one journalized table per data set, and the interface must be duplicated to process the changes of every single one of the source tables. This can be a daunting task if you have a lot of sources and complex mappings. With this recipe...