У меня есть следующая функция, которая сравнивает две строки одинаковой длины и вычисляет их коэффициент соответствия (сходство между строками). Функция выглядит следующим образом:
def SMC(str1,str2):
count = 0
for i in range (len(str1)):
if (str1[i]==str2[i]):
count+=1
return count/len(str1)
Теперь предположим, у меня есть СДР следующим образом:
RDD= sc.parallelize([('abc','adc'),('fgh','bch'),('ast','ast')])
Я хочу использовать свою функцию SMC
для формирования нового СДР, который формируется из значений, которые функция SMC
возвращает, когда она применяется к каждой паре. Например, когда пара ('abc','adc')
входит в функцию SMC
, она возвращает значение 0.66
. Мой ожидаемый вывод RDD2 будет следующим:
>>> RDD2.collect()
[0.666,0.333,1.0]
Как я могу написать функцию карты для этого и как я могу передать требуемые аргументы своей функции. Большое спасибо