Table of Contents

Search

  1. Preface
  2. Introduction to Informatica Data Engineering Integration
  3. Mappings
  4. Mapping Optimization
  5. Sources
  6. Targets
  7. Transformations
  8. Python Transformation
  9. Data Preview
  10. Cluster Workflows
  11. Profiles
  12. Monitoring
  13. Hierarchical Data Processing
  14. Hierarchical Data Processing Configuration
  15. Hierarchical Data Processing with Schema Changes
  16. Intelligent Structure Models
  17. Blockchain
  18. Stateful Computing
  19. Appendix A: Connections Reference
  20. Appendix B: Data Type Reference
  21. Appendix C: Function Reference

Complex Operators

Complex Operators

A complex operator is a type of operator to access elements in a complex data type. The transformation language includes complex operators for complex data types. Use complex operators to access or extract elements in hierarchical data.
The following table lists the complex operators:
Complex Operators
Description
[]
Subscript operator. Use to access array and map elements.
Syntax:
array
[
index
]
  • array
    is the array from which you want to access an element.
  • index
    is the position of an element within an array.
For example, use [0] to access the first element in an one-dimensional array.
Syntax:
map
[
key
]
  • map
    is the map from which you want to access the value corresponding to a key.
  • key
    is the map key for which you want to retrieve the map value.
.
Dot operator. Use to access struct elements.
Syntax:
struct
.
element_name
  • struct
    is the struct from which you want to access an element.
  • element_name
    is the name of the struct element.
Use complex operators in expressions to convert hierarchical data to relational data.
For more information about the operator syntax, return values, and examples, see the
Informatica Developer Transformation Language Reference
.

Complex Operator Examples

  • Convert array data in a JSON file to relational data.
    A JSON file has a quarterly_sales column that is of the array type with integer elements. You develop a mapping to transform the hierarchical data to relational data. The array port quarterly_sales contains four elements. Use subscript operators in expressions to extract the four elements into the four integer ports, q1_sales, q2_sales, q3_sales, and q4_sales.
    The expressions for the integer output port are as follows:
    quarterly_sales[0] quarterly_sales[1] quarterly_sales[2] quarterly_sales[3]
  • Convert struct data in a Parquet file to relational data.
    A Parquet file has an address column that contains customer address as a struct type. You develop a mapping to transform hierarchical data to relational data. The struct port address contains three elements city, state, and zip, of type string. Use dot operators in expressions to extract the three struct elements into the three string ports, city, state, and zip.
    The expressions for the string output port are as follows:
    address.city address.state address.zip


Updated September 07, 2020