Документация Флинка для GroupCombine
состояний:
Примечание: GroupCombine в Grouped DataSet выполняется в памяти с помощью жадной стратегии, которая может обрабатывать не все данные одновременно, а в несколько этапов. Это также выполняется на отдельных разделах без обмена данными, как при преобразовании GroupReduce. Это может привести к частичным результатам.
со следующим замечанием для полных (не сгруппированных) DataSet
с:
GroupCombine для полного набора данных работает аналогично GroupCombine для сгруппированного набора данных. Данные распределяются по всем узлам, а затем объединяются жадным способом (т. Е. Одновременно объединяются только данные, помещающиеся в память).
Означает ли это, что если мой набор данных состоит, например, из:
1
2
3
и я хочу сгенерировать все попарные комбинации
(1, 2), (1, 3), (2, 3)
Я не могу реализовать это в общем виде с помощью преобразования GroupCombine
, потому что это не гарантирует, что вся группа поместится в памяти данного раздела?