How to Develop a Dynamic Mapping to Process Schema Changes in Hierarchical Data
How to Develop a Dynamic Mapping to Process Schema Changes in Hierarchical Data
To process hierarchical data with schema changes on the Spark engine, develop a dynamic mapping with dynamic complex sources and targets, dynamic ports, complex ports, dynamic complex ports, complex operators and functions, port selectors, and dynamic expressions.
The tasks and the order in which you perform the tasks to develop a dynamic mapping depend on the mapping scenario.
The following list outlines the high-level tasks to develop and run a mapping to read, write, and process hierarchical data that can change at run time.
Create dynamic complex sources and targets.
If a complex file source changes, you can configure the Read transformation to accommodate changes. For example, you can configure the Read transformation to use a different data source or to update the data object based on the data source. If a complex file target changes, you can configure the Write transformation to accommodate target changes. For example, you can configure the Write transformation to generate columns based on the mapping flow.
You can configure a Read or a Write transformation to get columns from a complex file data object at run time.
Create dynamic ports and define input rules.
When you configure transformations in a mapping, you create dynamic ports to receive new or changed columns based on the data flow. You configure input rules to determine the columns that a dynamic port receives and to rename or reorder the generated ports.
Create dynamic complex ports and define input rules.
Create a dynamic complex port to handle changes to the schema of a complex port. Configure input rules to determine the schema or element types of a dynamic complex port.
Create port selectors and dynamic expressions for dynamic complex output ports.
Create a dynamic expression by using dynamic ports or port selectors in the expressions. When you include a dynamic port, the expression generates a complex data type with elements based on each port that the dynamic port generates. When you include a port selector, the expression generates a complex data type with elements based on each port determined by the selection rule.
Create parameters.
You can use parameters to change values at run time. Use parameters to change values such as sources, targets, connections, and rules within the mapping.
Create run-time links.
Transformations might change in such a way that you cannot create direct links when you design the mapping. If you cannot create links at design time, you can configure run-time links.