Ковариация и корреляция с искрой и Python терпит неудачу - PullRequest
0 голосов
/ 25 апреля 2020

Я новичок в Spark, и я пытаюсь вычислить cov и cor. Но когда я пытаюсь сделать сумму, apache показывает мне и ошибка

Мой код:

from pyspark.mllib.stat import Statistics
rddX = sc.parallelize([1,2,3,4,5,6,7,8,9,10])
rddY = sc.parallelize([7,6,5,4,5,6,7,8,9,10])
XY= rddX.zip(rddY)


Statistics.corr(XY)
Meanx = rddX.sum()/rddX.count()
Meany = rddY.sum()/rddY.count()
print(Meanx,Meany)
cov = XY.map(lambda x,y: (x-Meanx)*(y-Meany)).sum()

Моя ошибка:

opt/ibm/spark/python/pyspark/rdd.py in fold(self, zeroValue, op)
    913         # zeroValue provided to each partition is unique from the one provided
    914         # to the final reduce call
--> 915         vals = self.mapPartitions(func).collect()
    916         return reduce(op, vals, zeroValue)

Зачем показывать это ошибка ?, если сумма возвращает массив RRDD?

1 Ответ

1 голос
/ 25 апреля 2020

Попробуйте разделить операцию СДР:

sumX = rddX.sum()
countX = rddX.count()
meanX = sumX / countX
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...