ETL on streams? To be pedantic, does that even make sense? Extract, transform and load... a batch of data. But a stream?
I suggest to try thinking in terms of events instead of streams.
You can extract data change events (e.g., INSERTs) from a data source, transform them with a streaming application (e.g., built with Kafka Streams), and load the transformed events into a data sink.