> ## Documentation Index
> Fetch the complete documentation index at: https://docs.condense.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Split Utility

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252FhdLIIGsYv79mA4BBEcR2%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=fd636cb10d41932ecc899452e27e00dc" alt="" width="2304" height="3286" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2FhdLIIGsYv79mA4BBEcR2%2Fimage.png" />

## Overview

The Split Utility in Kafka Streams helps streamline data processing by categorising and routing data based on user-defined conditions. It effectively manages data by directing it to primary or secondary topics, ensuring efficient and real-time processing

## **Key Features**

### **Intelligent Data Routing**

* Automatically routes data to either primary or secondary topics based on conditional evaluation
* Applies filtering logic to streaming data without coding or manual intervention

### **Operational Flexibility**

* Modify routing rules without disrupting data flow or redeploying pipelines
* Pre-validate data structures to ensure compatibility before deployment

### **Zero-Code Implementation**

* Configure complex stream splitting logic through an intuitive UI without writing code
* Define data routing policies using a clear, business-oriented approach by defining rules for splitting

## **How to Use the Split Utility**

### **Step 1. Access the Split Utility**

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252FLDZaL9mNZN9pJqahhfSE%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=f111f94f88bc0eccc1016e02cda4de9d" alt="" width="2304" height="1201" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2FLDZaL9mNZN9pJqahhfSE%2Fimage.png" />

1. Log in to your Condense account
2. From the main menu, select **Transforms**
3. Click on **Split Utility** from the Transforms page

### **Step 2: Choose Configuration Method**

#### **Option A: Auto-Fill from Topic** **(Recommended)**

Click **"Choose a Topic"** under *Read Topic.* It auto-populates schema fields for the configuration of the Split Utility.

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252FaSwWzGyErspGKxcuIc8J%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=2059f0a934aa47b6322cc1b964ab4d4d" alt="" width="2304" height="3312" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2FaSwWzGyErspGKxcuIc8J%2Fimage.png" />

<Info>
  If the topic is empty, the user will not be able to set up the configuration for the Split utility
</Info>

#### **Option B: Manual JSON Upload**

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252FeOsJ8B53P9qbu7jgwHr7%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=81a965f53b3aec4ceb03e8231eb5b73e" alt="" width="2304" height="3374" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2FeOsJ8B53P9qbu7jgwHr7%2Fimage.png" />

Click "Upload" and provide JSON as well as validate it. It auto-populates schema fields for the configuration of the Split Utility.

<Info>
  Manual JSON must exactly match your Kafka topic schema
</Info>

### **Step 3. Set Up Configurations for Topic**

1. Enter a descriptive **Utility Name** for your split configuration
2. Select or specify the **Input Topic** that will provide data to the utility
3. Define a unique **Primary Output Topic** for condition-satisfied data
4. Define a unique **Secondary Output Topic** for condition-rejected data

### **Step 4: Configure Rules for Split**

1. Click **Add Rule**
2. For each rule:
   * **Field Name**: Select from auto-populated list (never type manually)
   * **Condition**: Set operator (>, \<, =) and threshold
3. Grouping Rules - Click **"Add Group"** to combine multiple rules\_.\_ Rules follow logical evaluation order.

### **Step 5: Deploy**

1. Real-Time Rule Preview - The top preview bar shows your current rule structure for split (Updates instantly as you add/change rules)

Check the preview bar to verify:

* Correct grouping with parentheses
* Logical operator priority matches your intent

1. Click **Deploy Utility**
2. Go to **Pipelines** to monitor your split utility deployment on the pipeline.

## **Editing a Split Configuration**

1. Navigate to the **Pipelines** page.

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252FZUHq3gE1TAV0Xl7XS3im%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=9928f9609711a8f41d0e6b4b1bfaf3fd" alt="" width="2304" height="1200" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2FZUHq3gE1TAV0Xl7XS3im%2Fimage.png" />

2. Select the deployed **Split Utility** you want to modify.
3. Click **Edit Configurations** to open the utility configuration.

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252FG7hXPOsQsqiFKHvwk3Kh%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=e2c0827986811e56785298097f327754" alt="" width="2304" height="3621" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2FG7hXPOsQsqiFKHvwk3Kh%2Fimage.png" />

4. Update the required configuration, including:
   * Utility Name
   * Input Topic
   * Primary Output Topic
   * Secondary Output Topic
   * Rule conditions
   * Variables used in rule expressions *(New in v2.4.0)*

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252Fj8XdLwSs7Pxl2qUJ3WnA%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=bfc1d7701f2a4366106574da8fb89933" alt="" width="2304" height="3689" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2Fj8XdLwSs7Pxl2qUJ3WnA%2Fimage.png" />

5. Review the updated rule expression using the preview bar.
6. Click **Deploy Utility** to apply the updated configuration.

<Info>
  Starting with **Condense v2.4.0**, variables used in Split Utility rule expressions can be edited directly without recreating the utility. This allows routing logic to be updated quickly when field names, conditions, or business rules change.
</Info>

## **Deleting a Split Configuration**

1. Navigate to the **Pipelines** page
2. Select the deployed Split Utility you wish to remove
3. Click the **Delete Utility** button

<img src="https://mintcdn.com/zeliot/X-8fUt5oTsJKUcrM/images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%252Fblobs%252F1UMlTAkLlZdZ6q2wkEzq%252Fimage.png?fit=max&auto=format&n=X-8fUt5oTsJKUcrM&q=85&s=588d38b0b3a79e7aa3342a551181e43a" alt="" width="1520" height="2388" data-path="images/condense/v2.4.0/utilities/rwKRGO3QthZ6EMqqYblg%2Fblobs%2F1UMlTAkLlZdZ6q2wkEzq%2Fimage.png" />

4. Confirm deletion in the prompt window

## Frequently Asked Questions (FAQs)

#### **Q1: What is the primary purpose of the Split Utility?**

A: The Split Utility routes Kafka data into primary and secondary output topics based on user-defined conditions.

#### **Q2: How does the Split Utility determine where to route messages?**

A: The utility evaluates JSON messages against configured rules and conditions. Messages meeting the criteria are sent to the primary output topic; those failing the criteria go to the secondary output topic.

#### **Q3: Can I use the Split Utility with non-JSON data?**

A: No, the Split Utility specifically processes JSON-formatted data. Other formats are not supported in the current implementation.

#### **Q4: Can I use the same topic for input and output?**

A: No, the input topic, primary output topic, and secondary output topic must all be different to prevent processing loops and ensure proper data flow.

#### **Q5: What happens if I configure conflicting or overlapping rules?**

A: Rules are evaluated in the order they are defined. Once a message satisfies a rule, it is immediately routed to the primary output topic.
