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

Apache Spark在OS X与Ubuntu上的性能

金泉
2023-03-14

我最近正在学习Apache Spark。我用i7-4790S CPU和16GB RAM在我的Hackintosh(El Capitan)上通过brew安装了Hadoop和Apache Spark。我运行了SparkPi示例,如下所示:

/usr/local/Cellar/apache-spark/1.6.1/bin/run-example SparkPi 1000
16/06/27 00:54:05 INFO DAGScheduler: Job 0 finished: reduce at SparkPi.scala:36, took 43.165503 s

我有另一台运行Ubuntu16.04的电脑,配有i3-4170T CPU和16GB RAM。我设置了一个Docker容器来运行Hadoop和Spark(与OS X上的版本相同)。有趣的是,完成同样的请求只花了18秒。

16/06/28 16:22:49 INFO scheduler.DAGScheduler: Job 0 finished: reduce at SparkPi.scala:36, took 18.264482 s

为什么Spark在OS X上运行速度比在Ubuntu上运行速度慢得多?

共有1个答案

阙沛
2023-03-14

对于真正的Spark工作,您经常会遇到不同平台上的性能差异,这是由于您使用的任何构建中本地库可用性的差异造成的。

在您的特殊情况下,我更怀疑SparkPi示例是否真的以任何有意义的方式依赖于本机库,如果您没有多次运行该作业以平均多次运行,它很可能只是被归入方差,但仍然可以想象本机库可能会以一种即使在SparkPi示例中也可能出现的方式影响一些昂贵的调度或文件系统访问操作。

 类似资料:
  • 问题内容: 尝试1,香草链接到图书馆 我正在尝试使用修补版本的OpenSSL(因此DTLS更易于使用)。OpenSSL在 ./include/openssl子文件夹有大量的头文件(我认为应该如此): GCC链接到include文件夹,并给我一个错误-它找不到SSL。我或多或少地在使用与别人相同的东西。这在OSX(10.6)上有效,但在Ubuntu上无效: 尝试2,符号链接到/ usr / incl

  • 问题内容: 我的游戏通过通常的方法播放声音: 用户可以(异步)取消播放: 这种取消在Windows上效果很好,但是对于一个运行带有Java 6的OSX 10.5.8的用户,该程序将挂起。Threaddump显示播放线程在rain()内部。如果用户没有中断声音,则声音会很好地完成,并且应用程序将继续。 我的问题是: 这是OSX Java错误吗? 我应该使用而不是停止吗? 有任何解决方法的建议或经验吗

  • 我有一个基于maven的scala/java混合应用程序,可以提交spar作业。我的应用程序jar“myapp.jar”在lib文件夹中有一些嵌套的jar。其中之一是“common.jar”。我在清单文件中定义了类路径属性,比如。Spark executor抛出在客户端模式下提交应用程序时出错。类(com/myapp/common/myclass.Class)和jar(common.jar)在那里

  • 我的OSX Sierra上有多个Java版本(包括Java8)。 我必须将/system/library/frameworks/javavm.framework/versions/currentjdk/home/bin/java维护为“1.6.0_65”,因为我需要遗留应用程序:(

  • 问题内容: 一段时间以来,我们的Java应用程序已预先与Windows上的JRE捆绑在一起。我们有一个用C语言编写的启动器小应用程序,它使该应用程序使用我们预先捆绑的JRE。现在,随着苹果公司努力逐步淘汰Java,我们已经决定谨慎对待OSX上的类似产品。在OSX上使用预捆绑的JRE的最佳方法是什么? 问题答案: 即使我觉得这不是一个好主意(请参阅下文),您也可以将OpenJDK之类的JVM捆绑在一

  • 问题内容: 我正在尝试按照以下说明为Python 2.6安装MySQLdb: http://www.tutorialspoint.com/python/python_database_access.htm 当我执行此步骤时:出现错误: 我已安装MySQL并将其添加到我的 我究竟做错了什么? 问题答案: 它不是在寻找“ mysql”,而是在寻找“ mysql_config”。尝试从bash运行“哪个