为什么我在 Spark UI 中看到单次读取有两个作业?

Why do I see two jobs in Spark UI for a single read?

我正在尝试 运行 下面的脚本来加载包含 24k 条记录的文件。为什么我在 Spark UI.

中看到单次加载有两个作业?

代码


from pyspark.sql import SparkSession

spark = SparkSession\
    .builder\
    .appName("DM")\
    .getOrCreate()


trades_df = spark.read.format("csv")\
    .option("header", "true")\
    .option("inferSchema", "true")\
    .load("s3://bucket/source.csv") 

trades_df.rdd.numPartitions() 是 1

Spark UI Image

那是因为启用 inferSchema 后 spark 读取 csv 文件两次。

阅读 spark 的 github 存储库 here 上函数 def csv(csvDataset: Dataset[String]): DataFrame 的注释。