我是Spark的新手来做大数据工作,我正在使用与其他人共享的集群,因此,在不同的时间,当我运行不同的代码时,我无法分辨出哪些代码更有效率在运行时间,因为其他人可能正在运行一些巨大的数据。
无论如何在Spark python中判断代码是否有效?
答案 0 :(得分:0)
你无法从Spark本身做出这种推断,因为你的应用程序上下文不知道它是否与其他的同时运行。
也许如果你的应用程序正在改变大量数据,你可以通过观察等待数据所花费的时间量的变化来猜测。如果你知道集群的容量,你也可以观察分配给你的应用程序的执行程序的数量(可能或多或少相关,具体取决于Spark正在使用的主程序)。
您希望找到一种方法来自行检测任何其他应用程序。
我不知道主API是否确实提供了一种方法来执行此类操作(这将是更好的方法,即在应用程序运行时定期请求该指示符),但如果您是相同的在安装了主服务器的机器上,您可以使用grep
和ls -t $SPARK_HOME/logs/app*
来监控现有事件日志的数量(这很简单,如果您想要快速解决方案,这可能是值得的。)