
Explore ksqlDB fundamentals, set up the local environment, and build a complete streaming app using SQL statements, covering basic stream processing, collections, window statements, joins, aggregations, and Kafka Connect integration.
You can use ksqlDB to build event streaming applications from Apache Kafka® topics by using only SQL statements and queries. ksqlDB is built on Kafka Streams, so a ksqlDB application communicates with a Kafka cluster like any other Kafka Streams application.
Explore ksqlDB architecture and internal components, including the stream processing engine, materialized views, and the REST API for building streaming apps by defining statements with connectors and Kafka topics.
Install and configure zookeeper and kafka cluster for a single-instance setup, start zookeeper and kafka, then create a test topic and perform producer-consumer testing.
Define variables and configurations, create a source stream, build the topology, and start the Kafka streams using ksql statements, with hands-on ddl and query demos.
Demonstrate ksqlDB headless deploy mode, including setting properties, creating streams, deriving the user stream, and verifying results by consuming the transformed user topic.
Understand the ksqlDB query statement execution lifecycle from creating streams or tables with sql to building logic and physical plans, then running and managing the streaming application.
Learn ksqlDB simple and compound data types, modeling a person stream with name, age, and address as a struct and friends as a map or array.
Learn how ksqlDB supports custom data types using the create tabs statement to define address as a structure and reuse type definitions while managing streams.
Compare ksqlDB json and adjacent sr formats, and learn to install and configure confluent schema registry, connect it to Kafka, set the _schemas topic, and verify integration.
Explore ksqlDB collections by comparing streams and tables, where streams are immutable event sequences and tables store the latest state with tombstones, lookup tables, and derived collections.
Explore how the explain statement reveals the execution plan and streams topology for a sql expression, showing source text line streams, flat map transforms, and sink to the word topic.
Define variables and substitution in ksqlDB statements, including proper single-quote quoting and value substitution. Use these variables to create streams with specified columns, partitions, and formats.
Explore ksqlDB collection joins and windowed processing for streams and tables. Learn inner, left, and full joins and how windowing applies to unbounded streams.
Demonstrates join operations in ksqlDB by joining two streams with a one-minute window: inner, left, and full joins, using stream schemas, timestamps, and on conditions to produce joined results.
Demonstrates ksqlDB table primary key joins, including inner, left, and full joins, and contrasts them with foreign key joins, while noting windowed joins and eventual consistency.
Explore the group by clause with having, counting people by title and extracting the top per title, while noting aggregate limitations and stream versus table behavior in Kafka streams.
Configure and start a Kafka Connect distributed cluster, set bootstrap servers and group ID, enable plugins, verify with REST health checks, and prepare to register connectors for ingesting filesystem data.
Install and configure the JDBC source connector for Kafka Connect, create two connectors to ingest patient and room table data into Kafka topics for real-time health monitoring and alerting.
Learn how to develop ksqlDB user defined functions, including scalar UDFs, UDTFs, and UDAFs, and apply lambda functions in SQL.
Learn to implement a bmi udf as a scalar function in ksqldb by creating a java maven project, annotating the function, and deploying it as an extension for the server.
Define a custom ksqlDB udtf (tabular function) that outputs multiple rows from a single input by using split and explode on a delimiter.
Interact with the local ksqlDB using the rest api to list streams and tables, create or drop resources, run push and pull queries, insert data, and monitor health and properties.
Explore a lightweight Java client for ksqlDB that sends requests from your Java app, supports pull and push queries, and manages streams, tables, and persistent queries.
Demonstrates using the ksqlDB java client to list streams and print stream and topic details, then executes a push query with a subscriber for asynchronous results.
Learn how to use the ksqlDB Java client to execute synchronous stream queries and batch pull queries, print results to the console, and manage the client lifecycle.
ksqlDB is a database purpose-built for stream processing applications. What exactly does this mean? It incorporates many components found in almost every stream processing architecture.
This is important because almost all streaming architectures today are piecemeal solutions cobbled together from different projects. At a minimum, you need one subsystem to get events from existing data sources, another to store them, another to process them, and another to query against aggregation. Integrating each subsystem can be difficult. Everyone has their own mental models. Given all these complexities, it's easy to wonder: is it all worth it?
ksqlDB aims to provide a mental model to do everything you need. You can build a complete streaming application against ksqlDB, which has only one dependency: Apache Kafka®.
This course will comprehensively and meticulously introduce all the knowledge points of ksql and ksqlDB, allowing you to master the use of ksqlDB from beginner to proficient, from shallow to deep. Using ksqlDB, you can easily use a few lines of SQL statements to complete the development of streaming computing applications for real-time data.
[course requirements]
Some Apache Kafka/Confluent Kafka experience is required
Procedural experience with relational database SQL
Familiar with the Kafka Streams framework (kstream, ktable)
[course features]
Practise driven
Lots of real cases trainning
Step by step shallow to deep
The course content are straightforward
Covers most Confluent ksqlDB & ksql content
Rich comprehensive case help you fully understand