aggregateByKey

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

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

Синтаксис

result = aggregateByKey(obj,zeroValue,seqFunc,combFunc,numPartitions)

Описание

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

Входные параметры

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

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

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

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

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

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

Функция к итоговым результатам seqFunc, определенный функцией указатель.

Типы данных: 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);

%% aggregateByKey
x = sc.parallelize({'a','b','c','d'},4);
y = x.map(@(x)({x,1}));
z = y.aggregateByKey(10,@(x,y)(x+y),@(x,y)(x+y));
viewRes = z.collect()  % { {'d',11},{'a',11},{'b',11},{'c',11}}

Введенный в R2017b