10.6.2 – Transformations & Filters
Module: Section 10 – Kafka Ecosystem & Tools
Section: 10.6 – Querying & Processing with ksqlDB
Goal: Master SELECT, WHERE, and transformation functions in ksqlDB
SELECT Projections
-- All columns
SELECT * FROM orders EMIT CHANGES;
-- Specific columns
SELECT order_id, amount, user_id FROM orders EMIT CHANGES;
-- Column aliasing
SELECT
order_id AS id,
amount * 1.1 AS amount_with_tax
FROM orders EMIT CHANGES;
WHERE Filtering
-- Simple filter
SELECT * FROM orders
WHERE amount > 100
EMIT CHANGES;
-- Multiple conditions
SELECT * FROM orders
WHERE amount > 100 AND status = 'COMPLETED'
EMIT CHANGES;
-- IN clause
SELECT * FROM orders
WHERE status IN ('PENDING', 'PROCESSING')
EMIT CHANGES;
String Functions
SELECT
UCASE(username) AS username_upper,
LCASE(email) AS email_lower,
CONCAT(first_name, ' ', last_name) AS full_name,
SUBSTRING(phone, 1, 3) AS area_code
FROM users EMIT CHANGES;
Mathematical Operations
SELECT
price * quantity AS total,
price * 0.9 AS discounted_price,
ROUND(amount, 2) AS rounded_amount,
ABS(balance) AS absolute_balance
FROM orders EMIT CHANGES;
Type Casting
SELECT
CAST(user_id AS VARCHAR) AS user_id_string,
CAST(amount AS INT) AS amount_int,
CAST(timestamp AS BIGINT) AS timestamp_ms
FROM orders EMIT CHANGES;
Key Takeaways
- SELECT: Project specific columns
- WHERE: Filter rows
- Functions: String, math, type casting
- EMIT CHANGES: Continuous query
What's Next?
Next Module: 10.6.3 – Aggregations & Windows