Stream Processing with Kafka Streams Training Course
Kafka Streams is a client-side library designed for developing applications and microservices that exchange data with a Kafka messaging system. Traditionally, Apache Kafka has depended on Apache Spark or Apache Storm for processing data between message producers and consumers. However, by utilizing the Kafka Streams API within an application, data can be processed directly inside Kafka, eliminating the need to send it to another cluster for processing.
In this instructor-led live training session, participants will learn how to incorporate Kafka Streams into a series of sample Java applications that exchange data with Apache Kafka for stream processing.
By the end of this training, participants will be able to:
- Comprehend the features and benefits of Kafka Streams compared to other stream processing frameworks
- Process streaming data directly within a Kafka cluster
- Create Java or Scala applications or microservices that integrate with Kafka and Kafka Streams
- Write succinct code that converts input Kafka topics into output Kafka topics
- Construct, package, and deploy the application
Audience
- Developers
Course Format
- The course includes lectures, discussions, exercises, and extensive hands-on practice.
Notes
- To request a customized training for this course, please contact us to arrange the details.
Course Outline
Introduction
- Kafka vs Spark, Flink, and Storm
Overview of Kafka Streams Features
- Stateful and stateless processing, event-time processing, DSL, event-time based windowing operations, etc.
Case Study: Kafka Streams API for Predictive Budgeting
Setting up the Development Environment
Creating a Streams Application
Starting the Kafka Cluster
Preparing the Topics and Input Data
Options for Processing Stream Data
- High-level Kafka Streams DSL
- Lower-level Processor
Transforming the Input Data
Inspecting the Output Data
Stopping the Kafka Cluster
Options for Deploying the Application
- Classic ops tools (Puppet, Chef and Salt)
- Docker
- WAR file
Troubleshooting
Summary and Conclusion
Requirements
- An understanding of Apache Kafka
- Java programming experience
Need help picking the right course?
Stream Processing with Kafka Streams Training Course - Enquiry
Testimonials (1)
Recalling/reviewing keypoints of the topics discussed.
Paolo Angelo Gaton - SMS Global Technologies Inc.
Course - Building Stream Processing Applications with Kafka Streams
Upcoming Courses
Related Courses
Administration of Confluent Apache Kafka
21 HoursConfluent Apache Kafka is a distributed event streaming platform designed for high-throughput, fault-tolerant data pipelines and real-time analytics.
This instructor-led, live training (online or onsite) is aimed at intermediate-level system administrators and DevOps professionals who wish to install, configure, monitor, and troubleshoot Confluent Apache Kafka clusters.
By the end of this training, participants will be able to:
- Understand the components and architecture of Confluent Kafka.
- Deploy and manage Kafka brokers, Zookeeper quorums, and key services.
- Configure advanced features including security, replication, and performance tuning.
- Use management tools to monitor and maintain Kafka clusters.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Unified Batch and Stream Processing with Apache Beam
14 HoursApache Beam is an open-source, unified programming model designed for defining and executing parallel data processing pipelines. Its strength lies in its capability to handle both batch and streaming pipelines, with execution supported by various distributed processing back-ends such as Apache Apex, Apache Flink, Apache Spark, and Google Cloud Dataflow. Apache Beam is particularly useful for ETL tasks, including moving data between different storage systems and sources, transforming it into a more suitable format, and loading it into new systems.
In this instructor-led training session (held either on-site or remotely), participants will learn how to integrate the Apache Beam SDKs within a Java or Python application to define a data processing pipeline that breaks down large datasets into smaller segments for independent and parallel processing.
By the end of this training, participants will be able to:
- Install and configure Apache Beam.
- Utilize a single programming model within their Java or Python application to perform both batch and stream processing.
- Run pipelines across multiple environments.
Course Format
- A combination of lectures, discussions, exercises, and extensive hands-on practice.
Note
- This course will be offered in Scala in the future. Please contact us to arrange.
Confluent Apache Kafka: Cluster Operations and Configuration
16 HoursConfluent Apache Kafka is an enterprise-grade distributed event streaming platform built on Apache Kafka. It supports high-throughput, fault-tolerant data pipelines and real-time streaming applications.
This instructor-led, live training (online or onsite) is aimed at intermediate-level engineers and administrators who wish to deploy, configure, and optimize Confluent Kafka clusters in production environments.
By the end of this training, participants will be able to:
- Install, configure, and operate Confluent Kafka clusters with multiple brokers.
- Design high-availability setups using Zookeeper and replication techniques.
- Tune performance, monitor metrics, and apply recovery strategies.
- Secure, scale, and integrate Kafka with enterprise environments.
Format of the Course
- Interactive lecture and discussion.
- Lots of exercises and practice.
- Hands-on implementation in a live-lab environment.
Course Customization Options
- To request a customized training for this course, please contact us to arrange.
Building Kafka Solutions with Confluent
14 HoursThis instructor-led, live training (delivered online or at your site) is designed for engineers who want to leverage Confluent (a Kafka distribution) to develop and manage a real-time data processing platform for their applications.
By the conclusion of this course, participants will be able to:
- Set up and configure the Confluent Platform.
- Utilize Confluent's management tools and services to simplify Kafka operations.
- Store and process incoming data streams.
- Optimize and manage Kafka clusters effectively.
- Secure their data streams.
Course Format
- Engaging lectures and discussions.
- Ample exercises and practice sessions.
- Practical implementation in a live-lab setting.
Customization Options for the Course
- The course is based on the open-source version of Confluent: Confluent Open Source.
- To arrange for customized training, please contact us to discuss your requirements.
Building Data Pipelines with Apache Kafka
7 HoursApache Kafka is a distributed streaming platform that has become the standard for developing data pipelines. It addresses various use cases related to data processing, serving as a message queue, distributed log, stream processor, and more.
We will begin by exploring the theoretical foundations of data pipelines in general, followed by an in-depth look at the core concepts of Kafka. Additionally, we will delve into key components such as Kafka Streams and Kafka Connect.
Apache Flink Fundamentals
28 HoursThis instructor-led, live training in the UAE (online or onsite) introduces the principles and approaches behind distributed stream and batch data processing, and walks participants through the creation of a real-time, data streaming application in Apache Flink.
By the end of this training, participants will be able to:
- Set up an environment for developing data analysis applications.
- Understand how Apache Flink's graph-processing library (Gelly) works.
- Package, execute, and monitor Flink-based, fault-tolerant, data streaming applications.
- Manage diverse workloads.
- Perform advanced analytics.
- Set up a multi-node Flink cluster.
- Measure and optimize performance.
- Integrate Flink with different Big Data systems.
- Compare Flink capabilities with those of other big data processing frameworks.
A Practical Introduction to Stream Processing
21 HoursIn this instructor-led, live training in the UAE (onsite or remote), participants will learn how to set up and integrate different Stream Processing frameworks with existing big data storage systems and related software applications and microservices.
By the end of this training, participants will be able to:
- Install and configure different Stream Processing frameworks, such as Spark Streaming and Kafka Streaming.
- Understand and select the most appropriate framework for the job.
- Process of data continuously, concurrently, and in a record-by-record fashion.
- Integrate Stream Processing solutions with existing databases, data warehouses, data lakes, etc.
- Integrate the most appropriate stream processing library with enterprise applications and microservices.
Distributed Messaging with Apache Kafka
14 HoursThis course is designed for enterprise architects, developers, system administrators, and anyone interested in understanding and utilizing a high-performance distributed messaging system. Should you require a focus on particular aspects (such as system administration exclusively), the course content can be customized to align more closely with your specific requirements.
Apache Kafka for Python Programmers
7 HoursThis instructor-led, live training in the UAE (online or onsite) is aimed at data engineers, data scientists, and programmers who wish to use Apache Kafka features in data streaming with Python.
By the end of this training, participants will be able to use Apache Kafka to monitor and manage conditions in continuous data streams using Python programming.
Confluent KSQL
7 HoursThis instructor-led, live training in the UAE (online or onsite) is aimed at developers who wish to implement Apache Kafka stream processing without writing code.
By the end of this training, participants will be able to:
- Install and configure Confluent KSQL.
- Set up a stream processing pipeline using only SQL commands (no Java or Python coding).
- Carry out data filtering, transformations, aggregations, joins, windowing, and sessionization entirely in SQL.
- Design and deploy interactive, continuous queries for streaming ETL and real-time analytics.
Apache NiFi for Administrators
21 HoursIn this instructor-led, live training in the UAE (onsite or remote), participants will learn how to deploy and manage Apache NiFi in a live lab environment.
By the end of this training, participants will be able to:
- Install and configure Apachi NiFi.
- Source, transform and manage data from disparate, distributed data sources, including databases and big data lakes.
- Automate dataflows.
- Enable streaming analytics.
- Apply various approaches for data ingestion.
- Transform Big Data and into business insights.
Apache NiFi for Developers
7 HoursIn this instructor-led, live training in the UAE, participants will learn the fundamentals of flow-based programming as they develop a number of demo extensions, components and processors using Apache NiFi.
By the end of this training, participants will be able to:
- Understand NiFi's architecture and dataflow concepts.
- Develop extensions using NiFi and third-party APIs.
- Custom develop their own Apache Nifi processor.
- Ingest and process real-time data from disparate and uncommon file formats and data sources.
Spark Streaming with Python and Kafka
7 HoursThis instructor-led, live training in the UAE (online or onsite) is aimed at data engineers, data scientists, and programmers who wish to use Spark Streaming features in processing and analyzing real-time data.
By the end of this training, participants will be able to use Spark Streaming to process live data streams for use in databases, filesystems, and live dashboards.