Skip to main content
Version: Next

Split Array


Description​

The Split Array processor transforms array fields into multiple individual events, with each array element becoming a separate event. It supports:

  • Array element extraction
  • Context preservation
  • Nested field handling
  • Custom field naming

This processor is essential for:

  • Converting batch data into individual events
  • Processing array elements independently
  • Distributing array data across streams
  • Enabling element-wise analysis

Required input​

The processor requires a data stream containing at least one array field. The array can contain elements of any supported data type:

  • Numbers (integer or float)
  • Strings
  • Booleans
  • Objects
  • Nested arrays

Configuration​

Array Field Selection​

Select the array field to split into individual events. The field must be an array type.

Keep Fields​

Select one or more fields from the input event that should be preserved in each output event. These fields will be copied to each output event.

Output​

For each element in the input array, the processor creates a new event containing:

  • The array element as a single value in a field named "array_value"
  • All selected fields from the original event

Example​

Input Event​

{
"deviceId": "sensor123",
"timestamp": 1586380104915,
"measurements": [22.5, 23.1, 22.8, 23.4],
"status": "active"
}

Configuration​

  • Array Field: measurements
  • Keep Fields: deviceId, timestamp, status

Output Events​

// First element
{
"deviceId": "sensor123",
"timestamp": 1586380104915,
"status": "active",
"array_value": 22.5
}

// Second element
{
"deviceId": "sensor123",
"timestamp": 1586380104915,
"status": "active",
"array_value": 23.1
}

// Third element
{
"deviceId": "sensor123",
"timestamp": 1586380104915,
"status": "active",
"array_value": 22.8
}

// Fourth element
{
"deviceId": "sensor123",
"timestamp": 1586380104915,
"status": "active",
"array_value": 23.4
}

Use Cases​

  1. Batch Processing

    • Split batch sensor readings
    • Process multi-measurement data
    • Handle grouped observations
    • Transform batch uploads
  2. Data Distribution

    • Distribute workload across processors
    • Enable parallel processing
    • Balance processing load
    • Scale data processing

Notes​

  • Output events maintain original event order
  • Empty arrays produce no output events
  • Null array elements are preserved
  • Processing is stateless
  • Memory usage scales with array size
  • Nested fields are handled automatically