Я относительно новичок в Pyspark и распределенных вычислениях.
У меня есть список кортежей, хранящихся в RDD.Я хотел бы взять комбинацию с каждым элементом в СДР и вставить их в функцию, которая будет возвращать выходные данные функции, а затем выполнить некоторую описательную статистику (максимум, минимум, среднее, медиана и т. Д.) Для этого окончательного СДР.
Выполнить это локально в Python было бы довольно легко, но у меня возникли проблемы с продумыванием шагов для выполнения этого в распределенном режиме.
myTups = [(a,b),(c,d),(e,f),(g,h)]
output_list = []
for i in range(len(myTups)-1):
for j in range(i+1, len(myTups)):
output_list += [myFunc(myTups[i],myTups[j])]
myFunc
выводит целое число.С этим списком я буду вычислять max, min и т. Д.
Я думаю, мне нужно начать с создания списка кортежей с mytups.Нужно ли конвертировать мой RDD в RDD для пары, чтобы выполнить это?
[ ((a,b), (c,d)),
((a,b),(e,f)),
((a,b), (g,h)),
((c,d),(e,f)),
((c,d), (g,h))
((e,f), (g,h))]
Затем используйте map () для выполнения myFunc.
Я на правильном пути или мне следует подуматьделать это по-другому?Спасибо за ваше время.