Чего я хочу достичь, например , данные:
time, part, data
0, a, 3
1, a, 4
2, b, 10
3, b, 20
3, a, 5
и преобразование:
stream.keyBy(_.part).scan(0)((s, d) => s + d)
получить:
0, a, 3
1, a, 7
2, b, 10
3, b, 30
3, a, 12
Я попытался разбить его, используя groupAdjacentBy
, но это становится слишком сложным, потому что мне нужно сохранять сложное состояние между каждым чанком с ключом.Интересно, есть ли что-то похожее на Flink DataStream. keyBy ?Или более простой способ реализовать это?