Process
Transform & filter data in real-time with the power of JavaScript
Correct individual data records or entire deliveries, generate test data or develop views that detect incorrect data: The powerful Quick Processor enables data filtering & transformation with the full power of JavaScript.
Ingest
Create records to copy data, send corrected records for reprocessing, and create test data quickly.
Ingest multiple records at one time
Send data to another stream
Support for record headers
Use built-in codecs or create custom codecs
Route
Select records and forward them to another stream in your cluster.
Route transformed and copied records to other streams
Multi-select all or specific records
Export records as CSV or JSON
Transform
Save code as a partial data view to reuse later.
Run JavaScript on live data
Apply JavaScript to filter and transform data
Perform stateful calculations (e.g., averages and groupings)
Easy to use
Some code examples
Transform
Overwrite, delete or calculate new values for message value attributes and keys.
Read & write access to key, value, headers of messages
Read access to partition, timestamp, offset and more
// Overwrite the record's key and add a new attribute
// to the record's value.
rec.value.myAttribute = "Hello World!";
rec.key = "My Key";
// Delete an attribute
delete rec.value.obsoleteAttr;
return rec;
// to the record's value.
rec.value.myAttribute = "Hello World!";
rec.key = "My Key";
// Delete an attribute
delete rec.value.obsoleteAttr;
return rec;
Filter
Create complex filters with full JavaScript.
Full power of JavaScript
Store code as part of Kadeck views to share with others
// No filtering (all records are let through)
return true;
// View only records that are from January (0)
return new Date(rec.value.deliveryTime).getMonth() != 0;
return true;
// View only records that are from January (0)
return new Date(rec.value.deliveryTime).getMonth() != 0;
Store
Calculate and temporarily store data to aggregate or group data.
Store and retrieve data
Use the "join on key" feature to only see the latest result per key
// Increment stored value; Init with 1.
let count = (restore() == null) ? 1 : restore() + 1;
// Assign current count to an attribute
rec.value.Count = count;
// Store current count
store(count);
return rec;
let count = (restore() == null) ? 1 : restore() + 1;
// Assign current count to an attribute
rec.value.Count = count;
// Store current count
store(count);
return rec;
Get started
Join the Kadeck Universe
Experience the most powerful Apache Kafka monitoring platform.