Quick Start Guide
Create Your First ETL Chain in 10 Minutes
This guide walks you through creating a simple ETL chain that reads data, transforms it, and writes the results.
Prerequisites
- Access to ETL Management interface (requires
mod-etlprivilege) - Access to ETL Designer interface (requires
mod-etl-designerprivilege)
Step 1: Create a Chainset (2 minutes)
- Navigate to the ETL Management page
- Click the Add button in the upper right corner
- In the “Add ETL Chainset” dialog:
- Name: Enter “MyFirstChainset”
- Copy From: Select “Blank ETL”
- Click OK
The ETL Designer will open automatically with your new chainset.
Step 2: Create a Chain (1 minute)
- In the Chains panel (left side), click + Add Chain
- In the “Add Chain” dialog:
- Name: Enter “HelloWorld”
- Copy From: Select “Blank Chain”
- Click OK
The chain is now selected and ready for adding steps.
Step 3: Add Steps (4 minutes)
Add a JSON Record Step (creates sample data)
- In the Steps panel (middle), click + Add Step
- In the step selection dialog:
- Search for “JSON Record” or navigate to JSON category
- Select JSON Record
- Click Add
- In the “Edit Step” dialog:
- Step Name: Keep as “JSON Record” or rename to “Create Sample Data”
- JSON: Enter the following:
json { "name": "Alice", "age": 30, "city": "New York" }
- Click Save
Add a String Upper Step (transforms data)
- Click + Add Step again
- Search for “String Upper” or navigate to String category
- Select String Upper and click Add
- In the “Edit Step” dialog:
- Step Name: Keep as “String Upper” or rename to “Uppercase Name”
- Field: Enter “name”
- To Field: Enter “name” (to replace the original)
- Click Save
Add an integer.Add Step (modifies data)
- Click + Add Step again
- Search for “Integer Add” or navigate to Number > Integer category
- Select Integer Add (
integer.Add) and click Add - In the “Edit Step” dialog:
- Step Name: Keep as “Integer Add” or rename to “Increment Age”
- Field: Enter “age”
- Value: Enter “1”
- To Field: Enter “age”
- Click Save
Step 4: Run the Chain (1 minute)
- In the Steps panel, click the Run Steps button (play icon)
- The chain executes and results appear in the Results panel (right side)
- Click on the run record to see the output
Expected Output:
{
"name": "ALICE",
"age": 31,
"city": "New York"
}
Step 5: Test with Different Input (2 minutes)
Create a Test Input
- In the Steps panel, find the Test Input dropdown
- Click the More Actions button (three dots) next to it
- Select Add Test
- In the “Add Test” dialog:
- Name: “Multiple People”
- Description: “Test with array of people”
- Test JSON: Enter:
json [ {"name": "Bob", "age": 25, "city": "Boston"}, {"name": "Carol", "age": 35, "city": "Chicago"}, {"name": "Dave", "age": 40, "city": "Denver"} ]
- Click OK
Run with Test Input
- Select “Multiple People” from the Test Input dropdown
- Click Run Steps
- View the results - you should see three records, each with uppercase name and age incremented by 1
What You’ve Learned
✅ Created a chainset - Container for your chains
✅ Created a chain - Sequence of transformation steps
✅ Added steps - Individual operations (JSON Record, String Upper, integer.Add)
✅ Ran the chain - Executed and viewed results
✅ Used test inputs - Tested with different data
Understanding What Happened
- JSON Record step created sample data (one or more records)
- String Upper step transformed the “name” field to uppercase
- integer.Add step incremented the “age” field by 1
- Records streamed through the steps sequentially
- Results appeared in the Results panel
Next Steps
Add More Transformations
Try adding these steps to your chain:
- String Concatenate - Combine name and city into a “fullInfo” field
- integer.Multiply - Calculate age in months
- structure.AddFields - Add new fields like
{ "processed": true } - Filter - Only keep records where age > 30
Save to Database
Add a MongoDB Writer step to save results:
- Add MongoDB Writer step at the end of your chain
- Configure:
- Pool: Select your database connection
- Collection: Enter a collection name (e.g., “people”)
- Run the chain to save records to MongoDB
Create Reusable Chains
- Create a new chain called “FormatPerson”
- Move the String Upper and integer.Add steps to this chain
- In “HelloWorld” chain, replace those steps with a Chain Call step
- Configure Chain Call to call “FormatPerson”
- Run to see the same results using composition
Explore Step Categories
Open the Dictionary (button in upper right) to browse available steps:
- Array - Work with arrays and lists
- String - Text manipulation
- Number - Mathematical operations
- Date - Date and time operations
- MongoDB - Database operations
- Structure - Control flow and composition
- And 60+ more categories…
Common Next Tasks
- Core Concepts - Understand chainsets, chains, steps, and records
- ETL Designer - Learn all designer features
- Best Practices - Design effective ETL chains
- Examples - See complete real-world examples
- Integration - Use ETL with Scheduler, Workflows, Datasets
Troubleshooting
Chain doesn’t run? - Check that all steps have required parameters filled in - Look for error messages in the Results panel - Enable debug logging on steps to see detailed execution
Unexpected results? - Enable debug logging to see input/output for each step - Check step parameters are correct - Verify field names match your data
Can’t find a step? - Use the search bar in the Add Step dialog - Browse categories in the Dictionary - Check step help for parameter details
Tips for Success
💡 Start simple - Begin with a few steps, add complexity gradually
💡 Test frequently - Run the chain after adding each step
💡 Use test inputs - Create multiple test cases for different scenarios
💡 Enable debug logging - See exactly what each step does
💡 Name steps clearly - Use descriptive names like “Validate Email” not just “Validation”
💡 Break into chains - Use Chain Call for reusable logic
💡 Document with descriptions - Add descriptions to chains and test inputs
Congratulations! You’ve created your first ETL chain. Continue exploring to build powerful data transformation pipelines.