Как я могу рассчитать матрицу взаимной корреляции Пирсона для большого (> 10 ТБ) набора данных, возможно, распределенным образом? Любое предложение эффективного распределенного алгоритма будет оценено по достоинству.
обновление: я прочитал реализацию корреляции apache spark mlib
Pearson Computaation:
/home/d066537/codespark/spark/mllib/src/main/scala/org/apache/spark/mllib/stat/correlation/Correlation.scala
Covariance Computation:
/home/d066537/codespark/spark/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala
но для меня это выглядит так, как будто все вычисления происходят на одном узле и не распределены в реальном смысле.
Пожалуйста, добавьте немного света сюда. Я также попытался выполнить его на искровом кластере с 3 узлами, и ниже приведен снимок экрана:
Как вы можете видеть на втором изображении, данные загружаются в один узел, а затем выполняются вычисления. Я здесь?