/streamiz-samples

Demo applications and code examples for Streamiz, the .NET Stream processing library for Apache Kafka.

Primary LanguageC#MIT LicenseMIT

kafka-streams-dotnet-samples

Demo applications and code examples for Streamiz, the .NET Stream Processing Library for Apache Kafka 🚀

Example Instructions Produce mock data Expected Comment
Global KTable ./run-example.sh -e global-ktable Open a new terminal and run ./src/global-ktable/produce.sh (Order can differed) 2 : {"productName":"iPhone 10","productId":1,"customerName":"Customer 1","customerId":1,"orderId":2} 3 : {"productName":"iPhone 10","productId":1,"customerName":"Customer 1","customerId":1,"orderId":3} 1 : {"productName":"iPhone 10","productId":1,"customerName":"Customer 1","customerId":1,"orderId":1 #globalKtable #stateful #joinStreamGlobalKTable
Stateless map application ./run-example.sh -e map-function seq -f "key:value%g" 10 | docker exec -i broker kafka-console-producer --bootstrap-server broker:29092 --topic text-lines-topic --property parse.key=true --property key.separator=: key : VALUE1 key : VALUE2 key : VALUE3 key : VALUE4 key : VALUE5 key : VALUE6 key : VALUE7 key : VALUE8 key : VALUE9 key : VALUE10 #stateless #map #map-values
Stateful sum application (Sum 1 + 2 + 3 + 4 + 5 + 6 + 7 + 8 + 9 + 10) ./run-example.sh -e sum seq -f "%g" 10 | docker exec -i broker kafka-console-producer --bootstrap-server broker:29092 --topic numbers-topic --property parse.key=false 1 : 1 1 : 3 1 : 6 1 : 10 1 : 15 1 : 21 1 : 28 1 : 36 1 : 45 1 : 55 #sum #stateful #reduce #groupBy
Stateful word count application ./run-example.sh -e word-count for i in {1..10}; do echo key:value;done | docker exec -i broker kafka-console-producer --bootstrap-server broker:29092 --topic plaintext-input --property parse.key=true --property key.separator=: value : 1 value : 2 value : 3 value : 4 value : 5 value : 6 value : 7 value : 8 value : 9 value : 10 #count #stateful #flatMapValues #groupBy
Stateful page view application ./run-example.sh -e page-view-region Open a new terminal and run ./src/page-view-region/produce.sh (Order and time can differed) Key : france Window : Start time : 12/07/2022 08:40:00 | End time : 12/07/2022 08:45:00 : 1 Key : usa-central Window : Start time : 12/07/2022 08:40:00 | End time : 12/07/2022 08:45:00 : 1 Key : usa-west Window : Start time : 12/07/2022 08:40:00 | End time : 12/07/2022 08:45:00 : 1 #join #leftJoin #stateful #AVRO #windowing
Monitoring streamiz application ./run-example.sh -e monitoring Open a new terminal and run ./src/monitoring/create-connector.sh Go to http://localhost:3000 (Login : admin / Password : password). Visit the Streamiz dashboard present in the collection #monitoring #openTelemetry #prometheus #grafana #streamizDashboard
De-duplication streamiz application ./run-example.sh -e de-duplication Open a new terminal and run ./src/de-duplication/produce.sh ABC : {"FinalKey":"ABC","EventId":"1","Value":10} TEST : {"FinalKey":"TEST","EventId":"3","Value":32} #de-duplication #transformer