通过Spark Web UI理解Spark程序执行
Apache Spark提供了一套Web UI/用户界面(Jobs, Stages, Tasks, Storage, Environment, Executors, and SQL)来监控Spark/PySpark应用程序的状态、Spark集群的资源消耗和Spark配置。
为了更好地理解Spark是如何执行Spark/PySpark作业的,这组用户界面会派上用场。在本教程中,我们将运行一个小应用程序,并通过使用Spark Web UI中的不同部分来解释Spark是如何执行这个应用程序的。
在进入Spark UI之前,首先了解以下两个概念:
- Transformation
- Action
Spark 应用程序代码是一组指令,它指示驱动程序执行一个Spark作业,并让驱动程序决定如何在executors的帮助下完成该作业。
对驱动程序的指令称为 Transformations(转换),而Action(操作)将触发执行。
下面是一个小的Spark应用程序,可以进行transformation和action。
// 数据源文件 val filePath = "file:///home/hduser/data/spark/resources/people.csv" // Transformation val df = spark.read // job(0):read .option("inferSchema", "true") // job(1):inferSchema .option("header", "true") ............
抱歉,只有登录会员才可浏览!会员登录