combineByKey

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

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

Синтаксис

result = combineByKey(obj,createCombiner,mergeValue,mergeCombiners,numPartitions)

Описание

result = combineByKey(obj,createCombiner,mergeValue,mergeCombiners,numPartitions) комбинирует элементы для каждого ключа с помощью пользовательского набора функций агрегации: createCombiner и mergeValue. Входной параметр numPartitions задает количество разделов, чтобы создать в получившемся RDD.

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

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

Вход RDD, чтобы объединиться в виде RDD объект.

Функция объединителя (C), учитывая значение (V) в виде указателя на функцию.

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

Функция, представляющая слияние данного значения (V) с существующим объединителем (C) в виде указателя на функцию.

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

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

Пример:

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

Количество разделов, чтобы создать в виде скалярного значения.

Пример:

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

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

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

Массив ячеек MATLAB®, содержащий элементы 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);

%% combineByKey
inputRdd = sc.parallelize({{'a',1}, {'b',1},{'a',1}});
resRdd = inputRdd.combineByKey(@(value) num2str(value), ...
            @(acc,value) strcat(acc, value), ...
            @(rdd1value, rdd2Value) strcat(rdd1Value, rdd2Value));
viewRes = resRdd.collect()

Введенный в R2017b