当前位置: 首页 > 知识库问答 >
问题:

Apache Spark关联只在驱动程序上运行

洪国兴
2023-03-14

我是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:我说的运行相关性的设置是由多个VM组成的集群设置。在此处查看来自SparK Web UI的图像:分布式互相关矩阵计算

更新2

我在独立模式下设置我的集群,就像它是一个3节点集群,1个主/驱动程序(实际机器:工作站)和2个VM从/执行器。像这样提交作业< code >。/bin/spark-submit-master spark://192 . 168 . 0 . 11:7077 examples/src/main/python/ml lib/correlations _ example . p y来自主节点

我的关联示例文件是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()

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

这难道不意味着它不会根据事件的时间线并行发生吗?我是否在Spark中的作业提交或相关性计算方面做了一些错误?

更新3:我甚至尝试添加另一个执行器,仍然是相同的seqquential treeAggreagate。我设置了这里提到的火花集群:http://paxcel.net/blog/how-to-setup-apache-spark-standalone-cluster-on-multiple-machine/

共有1个答案

王凌
2023-03-14

你的陈述不完全准确。驱动程序的容器[执行器]在客户端/边缘节点或集群上启动,这取决于spark提交模式,例如客户端或yarn。工作人员执行操作,并将结果发送回驱动程序(如收集)

这个问题已经得到了回答。有关更多详细信息,请参阅下面的链接。何时在阿帕奇火花中的驱动程序上不运行操作?

 类似资料:
  • 问题内容: 我正在尝试运行一个ruby文件,该文件将使用seleniumwebdriver启动chrome驱动程序。我有selenium独立服务器2.35.0。和chromedriver可执行文件已安装。我正在通过运行服务器来启动 两个会话正在启动,chrome驱动程序无法启动。 这是在我使用以下文件运行文件之后 我对此并不陌生,无法找出问题所在。而且,我也试图让它无头运行,所以我正在运行Xvfb

  • 我试图运行一个ruby文件,这将启动chrome驱动程序使用selenium WebDriver。我有selenium独立服务器2.35.0。和chromedriver可执行文件安装。我通过运行来启动服务器, 这是在我使用 我对此很陌生,不知道哪里出了问题。我也试图无头运行它,所以我有Xvfb运行。有人能帮我指出我犯的错误并启动chromedriver吗? 更新: 谁能帮我弄清楚出了什么问题吗?

  • 问题内容: 每当将任何USB闪存驱动器(不仅是特定的USB闪存驱动器)插入系统时,我都试图运行一个脚本,并且我已经断断续续地花了大约2周的时间来尝试找出问题。有谁能够帮助我?(如果有帮助,请运行Ubuntu)。 我需要至少传递驱动器序列号和devpath(/ dev / sd **)。 问题答案: 首先,您需要使用规则来检测USB存储设备 /etc/udev/rules.d/10-usbmount

  • 从《UML用户指南》第5章中,我发现了以下内容: 为了模拟结构关系, > 对于每对类,如果您需要从一个对象导航到另一个对象,请指定两者之间的关联。这是关联的数据驱动视图。 对于每对类,如果一个类的对象需要与另一个类的对象交互,而不是作为操作的参数,请指定两者之间的关联。这更像是一种由行为驱动的关联视图 这是我对第一类关联的理解,通过以下示例:一个类,User,具有三个属性,其中一个是另一个类,Ad

  • WebDriver:只有在测试成功时才关闭web驱动程序。在@after方法中有检查测试结果的方法吗?

  • 在此处输入图像描述 所以每当我运行我的conf.js文件时,WebDriver实例就会启动,但它会超时:(。(见附件图片) 结果是无法接触到铬。 我的环境是这样设置的: > 铬驱动器2.26 selenium-server-standalone-2.53.1 硒-webdriver@3.0.1 安装了CHROME浏览器55 量角器5.0.0 这是我的conf.js文件 }