Можно ли использовать lowerByKey для нескольких значений? - PullRequest
0 голосов
/ 20 октября 2018

Я только начал изучать spark и scala и тестировать некоторые преобразования и действия с RDD.

Я обнаружил, что ReduceByKey используется следующим образом:

rdd.reduceByKey((x, y) => x + y)

где, ввзять кортеж из двух одинаковых значений и объединить их с помощью операции сложения.

Теперь мой вопрос: не можем ли мы сложить более двух значений одновременно или все значения с одним и тем же ключом за один раз?Примерно так:

rdd.reduceByKey((p, q, r, s) => p+q+r+s)

Зачем добавлять только два значения?Добавление более двух значений также может сэкономить много вычислений?

1 Ответ

0 голосов
/ 21 октября 2018

Технически, spark может предоставить такой API, но он не будет практически полезным.

Сокращение большего количества значений за раз не обязательно быстрее.Это может быть правдой, если Spark RDD основаны на столбцах, но это не так.Искра основана на строках.

...