exponenta event banner

foldByKey

Класс: matlab.compiler.mlspark.RDD
Пакет: matlab.compiler.mlspark

Объединение значений для каждого ключа с помощью ассоциативной функции и нейтрального «нулевого значения»

Синтаксис

result = foldByKey(obj,zeroValue,func,numPartitions)

Описание

result = foldByKey(obj,zeroValue,func,numPartitions) объединяет значения для каждого ключа в obj использование ассоциативной функции func и нейтральное «нулевое значение», представленное zeroValue. Входной аргумент numPartitions указывает количество разделов, создаваемых в результирующем RDD.

Входные аргументы

развернуть все

Входной RDD, указанный как RDD объект.

Нейтральное «нулевое значение», указанное как массив ячеек чисел.

Типы данных: cell

Функция для сворачивания значений каждой клавиши, заданная как дескриптор функции.

Типы данных: function_handle

Число создаваемых секций, указанное как скалярное значение.

Типы данных: double

Выходные аргументы

развернуть все

Конвейерный RDD, содержащий результат агрегирования, возвращаемый как RDD объект.

Примеры

развернуть все

%% Connect to Spark
sparkProp = containers.Map({'spark.executor.cores'}, {'1'});
conf = matlab.compiler.mlspark.SparkConf('AppName','myApp', ...
                        'Master','local[1]','SparkProperties',sparkProp);
sc = matlab.compiler.mlspark.SparkContext(conf);

%% foldByKey
x = sc.parallelize({ {'a',1}, {'b',1}, {'a',1} });
y = x.foldByKey(5, @(x,y)(x+y));
viewRes = y.collect() % {{'a',7},{'b',6}}
Представлен в R2016b