Apache spark 如何调试缓慢的PySpark应用程序
对此可能有一个显而易见的答案,但我在谷歌上搜索了很多遍后,还是找不到任何答案 在一个典型的程序中,我通常会添加日志消息来计时代码的不同部分,并找出瓶颈所在。然而,对于Spark/PySpark,转换是以延迟的方式进行计算的,这意味着大部分代码在几乎恒定的时间内执行(至少不是数据集大小的函数),直到最后调用操作为止Apache spark 如何调试缓慢的PySpark应用程序,apache-spark,pyspark,Apache Spark,Pyspark,对此可能有一个显而易见的答案,但我在谷歌上搜索了很多遍后,还是找不到任何答案 在一个典型的程序中,我通常会添加日志消息来计时代码的不同部分,并找出瓶颈所在。然而,对于Spark/PySpark,转换是以延迟的方式进行计算的,这意味着大部分代码在几乎恒定的时间内执行(至少不是数据集大小的函数),直到最后调用操作为止 那么,如何对各个转换进行计时,并通过在必要和可能的情况下以不同的方式进行操作,使代码的某些部分更加高效呢?您可以使用Spark UI查看作业的执行计划以及作业的每个阶段的时间。然后,您
那么,如何对各个转换进行计时,并通过在必要和可能的情况下以不同的方式进行操作,使代码的某些部分更加高效呢?您可以使用Spark UI查看作业的执行计划以及作业的每个阶段的时间。然后,您可以使用这些统计信息优化您的操作。这是一个关于使用Spark UI监控Spark应用程序的非常好的演示(Spark Sumiit Europe 2016,由Jacek Laskowski撰写)