我正在使用Streams DSL并进行状态聚合(从一个主题读取数据,将数据聚合并将其写入另一个主题)。如何减少写入状态存储的数据的保留期限?现在,我的基础设施团队说,这些数据在状态存储中保留了5年,我必须减少这种情况。我可以设置一个特定的配置来保留数据多长时间吗?
KTable<Windowed<String>, JSONObject> kTable = filteredKstream
.groupBy((key, value) -> getNewKey(value),
Grouped.with(Serdes.String(), new JSONObjectSerde()))
.windowedBy(windows).aggregate(() -> {
SampleData sampleData = new SampleData();
return new JSONObject(mapperUtils.writeValueAsString(sampleData, mapper));
} , (key, value, aggregate) -> {
return getAggregateValue(aggregate, value);
} , Materialized
.<String, JSONObject, WindowStore<Bytes, byte[]>> as(
"sample-store")
.withKeySerde(Serdes.String())
.withValueSerde(jsonSerde));
答案 0 :(得分:0)
您可以使用audioSessionId
设置窗口存储和会话存储的保留期。