уменьшить, уменьшитьByKey, уменьшить группы в Spark или Flink - PullRequest
0 голосов
/ 29 сентября 2019

reduce: функция принимает накопленное значение и следующее значение, чтобы найти некоторую агрегацию.

reduceByKey: тоже самое с указанным ключом.

reduceGroups: применить указанную операцию к сгруппированным данным.

Я не знаю, как память управляла этими операциями.Например, как данные берутся при использовании функции reduce (например, все данные загружаются в память?)?Я хочу знать, как данные управляются для сокращения операций.Я также хочу знать, в чем разница между этими операциями в соответствии с управлением данными.

1 Ответ

0 голосов
/ 29 сентября 2019

Сокращение - это одна из самых дешевых операций в Spark, поскольку единственное, что он делает, - это фактически группирует подобные данные на одном узле. Единственная стоимость операции сокращения - это чтение кортежа и решение о том, где его следует выполнять.быть сгруппированы.Это означает, что простое reduce, в отличие от reduceByKey или reduceGroups, дороже, потому что Spark не знает, как сделать группировку, и ищет корреляции между кортежами.

Reduce также может игнорироватькортеж, если он не соответствует никаким требованиям.

...