我正在使用pyspark创建Spark应用程序,并且发现很难通过Spark UI监控其性能,因为作业持续时间并不能反映我在程序中测量的时间。
我在Jupyter笔记本中运行了我的代码。
我的第一个单元格有以下代码:
from pyspark.sql import SparkSession
spark = SparkSession \
.builder \
.appName('Parquet Load Tests') \
.getOrCreate()
spark
第二个,读取文件:
%%time
df = spark.read.parquet('/path/to/my/file.parquet/')
,第三个计算数据帧的行数:
%%time
df.count()
虽然笔记本上的读取和计数时间分别为5.78秒和1分28秒,但在Spark UI上,这些时间分别为1秒和6秒。
有人知道这里发生了什么吗?