Examples using faust and kafka for stream processing with InfluxDB and Telegraf
This repository uses Pipenv for package managment & isolation.
Python version management using asdf is supported via /.tool-versions
.
All examples require Kafka, container config is provided in /docker-compose.yaml
.
Use the scratchpad.md for commands to execute the following exmaples.
The "Hello World" example demonstrates the basics of a Faust streaming application. It sets up a simple Faust app that reads events from a Kafka topic and prints each event to the console. This example serves as an introduction to Faust’s structure, helping you understand how to create, configure, and run a Faust application with minimal setup.
The "Page Views" example showcases real-time counting of page views using Faust. It reads page view events from a Kafka topic, aggregates the number of views per page, and stores these counts in an in-memory table. For each page view, the updated count is published to another topic, allowing consumers to access up-to-date view counts for each page in real time. This example highlights Faust’s ability to handle stateful stream processing and perform real-time aggregations. telegraf.conf
is configured to consume the JSON messages and write them to InfluxDB.
- Pypi package
faust-streaming
is a fork of the deprecatedfaust