2017-06-29 80 views
0

我是Spark的新手,并了解到转换发生在工作人员和驱动程序上,但中间操作可能发生(如果操作是可交换和关联的)并行性。Apache Spark相关性仅在驱动程序上运行

我看着相关性和协方差代码:https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/stat/correlation/PearsonCorrelation.scala

https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/mllib/linalg/distributed/RowMatrix.scala

我怎么能找一下相关的部分发生在司机和在什么执行?

更新1:我说的运行关联的设置是由多个虚拟机组成的集群设置。 在这里寻找从火花网络用户界面图片:Distributed cross correlation matrix computation

更新2

设置我的集群中的独立模式就像是一个3节点集群,1个主站/驱动器(实机:工作站)和2个虚拟机从机/执行程序。 从主节点提交作业这样 ./bin/spark-submit --master spark://192.168.0.11:7077 examples/src/main/python/mllib/correlations_example.pŸ

我的相关样本文件correlations_example.py:

data = sc.parallelize(np.array([range(10000000), range(10000000, 20000000),range(20000000, 30000000)]).transpose()) 
print(Statistics.corr(data, method="pearson")) 
sc.stop() 

我总是得到一个连续的时间表为:

enter image description here

这是不是意味着它不是基于事件的时间表并行发生?我是否在做与Spark中的作业提交或相关性计算有关的错误是不平行的?

更新3: 我试着甚至添加了另一个执行器,仍然是相同的顺序treeAggreagate。 我如下所述设置火花簇: http://paxcel.net/blog/how-to-setup-apache-spark-standalone-cluster-on-multiple-machine/

+0

我不明白你的更新。那么现在的问题是什么? – eliasah

+0

看看:https://stackoverflow.com/questions/42304059/distributed-cross-correlation-matrix-computation –

+0

这是同样的问题,你问了两次? – eliasah

回答

0

您的声明并不完全准确。驱动程序的容器[执行程序]在客户端/边缘节点或群集上启动,具体取决于火花提交模式,例如,客户或纱线。这些行为由工作人员执行,并将结果发回给驱动程序(例如收集)

已经回答了这个问题。请参阅下面的链接了解更多详情 When does an action not run on the driver in Apache Spark?

+0

更新了这个问题,我正在讨论集群,并看到这个https://stackoverflow.com/questions/42304059/distributed-cross-correlation-matrix-computation –

相关问题