So I was evaluating the Kafka Streams and what it can do to see if it can fit my use case as I needed to do the aggregation of sensor's data for each 15min, Hourly, Daily and found it useful due to its Windowing feature. As I can create windows by applying windowedBy()
on KGroupedStream
but the problem is that windows are created in UTC and i want my data to be grouped by its originating timezone not by UTC Timezone as it hampers the aggregation so can any one help me on this.
You can "shift" the timestamps using a custom TimestampExtractor
-- before you write the result back into the output topic, you can use a Transformer
and "shift" the timestamps back via context.forward(key, value, To.all().withTimestamps())
.
Feature request ticket: https://issues.apache.org/jira/browse/KAFKA-7911