如何告诉在Spark中运行的代码更有效

时间:2015-10-24 19:20:33

标签: apache-spark pyspark rdd

我是Spark的新手来做大数据工作,我正在使用与其他人共享的集群,因此,在不同的时间,当我运行不同的代码时,我无法分辨出哪些代码更有效率在运行时间,因为其他人可能正在运行一些巨大的数据。

无论如何在Spark python中判断代码是否有效?

1 个答案:

答案 0 :(得分:0)

你无法从Spark本身做出这种推断,因为你的应用程序上下文不知道它是否与其他的同时运行。

也许如果你的应用程序正在改变大量数据,你可以通过观察等待数据所花费的时间量的变化来猜测。如果你知道集群的容量,你也可以观察分配给你的应用程序的执行程序的数量(可能或多或少相关,具体取决于Spark正在使用的主程序)。

您希望找到一种方法来自行检测任何其他应用程序。 我不知道主API是否确实提供了一种方法来执行此类操作(这将是更好的方法,即在应用程序运行时定期请求该指示符),但如果您是相同的在安装了主服务器的机器上,您可以使用grepls -t $SPARK_HOME/logs/app*来监控现有事件日志的数量(这很简单,如果您想要快速解决方案,这可能是值得的。)