Data connectivity & integrationPipeline Builder ExpressionsArrays zip

Arrays zip

Supported in: Batch, Faster, Streaming

Zips a list of given arrays into a merged array of structs in which the n-th struct contains all n-th values of input arrays.

Expression categories: Array

Declared arguments

  • Expressions: A list of arrays to zip.
    List<Expression<Array<AnyType>>>

Output type: Array<Struct>

Examples

Example 1: Base case

Argument values:

  • Expressions: [a1, a2]
a1a2Output
[ 1, 2, 3 ][ 4, 5, 6 ][ {
 a1: 1,
 a2: 4,
}, {
 a1: 2,
 a2: 5,
}, {
 a1: 3,
 a2: 6,
} ]

Example 2: Null case (ANSI mode on)

Argument values:

  • Expressions: [a1, a2]
a1a2Output
[ 1, 2, 3 ][ 4, 5, 6 ][ {
 a1: 1,
 a2: 4,
}, {
 a1: 2,
 a2: 5,
}, {
 a1: 3,
 a2: 6,
} ]
[ 1, 2, 3 ]nullnull
nullnullnull
[ ][ ][ ]

Example 3: Null case (ANSI mode off)

Argument values:

  • Expressions: [a1, a2]
a1a2Output
[ 1, 2, 3 ]null[ {
 a1: 1,
 a2: null,
}, {
 a1: 2,
 a2: null,
}, {
 a1: 3,
 a2: null,
} ]
nullnull[ ]
[ ][ ][ ]

Example 4: Edge case

Description: Longest length array is used.

Argument values:

  • Expressions: [a1, a2]
a1a2Output
[ 1, 2, 3 ][ 4, 5 ][ {
 a1: 1,
 a2: 4,
}, {
 a1: 2,
 a2: 5,
}, {
 a1: 3,
 a2: null,
} ]