Итеративный тип вывода Apache Beam GroupByKey.create () на FlinkRunner - PullRequest
0 голосов
/ 25 сентября 2019

Результатом преобразования Apache-Beam GroupByKey.create () является PCollection >>.

Когда я запускаю код с использованием FlinkRunner (пакетный режим) , я вижу, что Iterable является ArrayList.

Означает ли это, что сгруппированные элементы по ключу должны быть помещены в память?

1 Ответ

1 голос
/ 26 сентября 2019

Да, я так думаю.GroupByKey перевод использует Combiner для объединения всех значений с одним и тем же ключом, а ArrayList используется для этого как внутренний контейнер.Таким образом, это может быть потенциальная проблема NPE с горячими клавишами.

См. Детали реализации: one и two

...