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 |