Table of Contents

Search

  1. Preface
  2. Introduction to Informatica Big Data Management
  3. Connections
  4. Mappings in the Hadoop Environment
  5. Mapping Objects in the Hadoop Environment
  6. Processing Hierarchical Data on the Spark Engine
  7. Stateful Computing on the Spark Engine
  8. Monitoring Mappings in the Hadoop Environment
  9. Mappings in the Native Environment
  10. Profiles
  11. Native Environment Optimization
  12. Data Type Reference
  13. Complex File Data Object Properties
  14. Function Reference
  15. Parameter 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 array and struct 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.
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.
.
Dot operator.
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 December 13, 2018