Я строю конвейер, используя Apache Beam Java SDK, начиная с Шаблон PubSubToBigQuery , предоставленный Google (конвейер будет выполняться в облачном потоке данных Google).
Я использую Windowing для агрегирования данных и сохранения сгруппированных данных. Например:
1) a_id: 1 b_id: 2 c_id: 3 name: name1 value: 1
2) a_id: 1 b_id: 1 c_id: 3 name: name2 value: 1
3) a_id: 1 b_id: 2 c_id: 3 name: name3 value: 2
4) a_id: 1 b_id: 1 c_id: 3 name: name4 value: 1
5) a_id: 1 b_id: 1 c_id: 3 name: name5 value: 4
6) a_id: 2 b_id: 1 c_id: 3 name: name6 value: 1
Я получаю этот блок данных в своем 1-минутном окне, я хочу сгруппировать их по a_id , b_id и c_id и подсчитать строки, поэтому я ожидал бы это как результат агрегации:
1) a_id: 1 b_id: 2 c_id: 3 count: 2
2) a_id: 1 b_id: 1 c_id: 3 count: 3
3) a_id: 2 b_id: 1 c_id: 3 count: 1
Как можно использовать преобразование GroupByKey для создания такого типа группировки? (С несколькими ключами)