this is really a playground for me to muck with Kafka Streams, a library that Confluent seems proud of. It's a Groovy project because that is how I like to write Java :) but really it's very understandable to Java devs
I use Kafkacat to interface with Kafka on the CLI - https://github.com/edenhill/kcat because I think it's easier
I'm using Confluent platform to run Confluent locally. you can use Docker or whatever.
I'm using this generic customers-100.csv for sample data.
Send the records:
cat customers-100.csv| kafkacat -P -t stream.example -b localhost:9092
process the records with the app:
./gradlew run
You will have to Ctrl-C out of this
now dump the contents
kafkacat -C -t UppercasedTextLinesTopic -b localhost:9092
to generate the avro schema:
./gradlew generateAvro