Я изучаю Spark с помощью PySpark, и я пытаюсь использовать другой персонал с функцией redu (), чтобы правильно его понять, но я кое-что сделал и получил результат, который не имеет смысла для меня.
предыдущие примеры, которые я выполнял с помощью Reduce, основывались на c таких вещах, как:
>>> a = sc.parallelize(['a','b','c','d'])
>>> a.reduce(lambda x,y:x+y)
'abcd'
>>> a = sc.parallelize([1,2,3,4])
>>> a.reduce(lambda x,y:x+y)
10
>>> a = sc.parallelize(['azul','verde','azul','rojo','amarillo'])
>>> aV2 = a.map(lambda x:(x,1))
>>> aRes = aV2.reduceByKey(lambda x,y: x+y)
>>> aRes.collect()
[('rojo', 1), ('azul', 2), ('verde', 1), ('amarillo', 1)]
Но я попробовал это:
>>> a = sc.parallelize(['a','b','c','d'])
>>> a.reduce(lambda x,y:x+x)
'aaaaaaaa'
И я ожидал 'aaaa' в результате, но не ' aaaaaaaa '
Я искал ответы, читая документацию Reduce (), но думаю, что что-то упустил.
Спасибо!