在读取单个CSV文件时,在Spark中转换为多个阶段



在读取任何CSV时,无论CSV文件的大小还是大还是仅在文件中,它始终将其转换为3个阶段。而且总有三个工作每个工作一个阶段。我的应用程序没有任何转换和操作。它仅加载CSV。

公共班级WordCount {

public static void main(String[] args) throws InterruptedException {
    SparkSession spark = SparkSession.builder().appName("Java Spark 
       Application").master("local").getOrCreate();
    Dataset<Row> df = spark.read()
            .format("com.databricks.spark.csv")
            .option("inferschema", "true")
            .option("header", "true")
            .load("/home/ist/OtherCsv/EmptyCSV.csv");
    spark.close();
}}

火花UI图像:

  1. Spark UI中的三个工作
  2. 阶段相关信息
  3. 这三个阶段都有相同的dag 可视化
  4. 所有三个工作都有相同的DAG 可视化
  5. 这是事件时间轴

问题:

  1. 为什么加载或读取CSV总是分为三个阶段和三个工作。
  2. 为什么没有任何操作,为什么它会转换为三个工作?
  3. 如何在代码级别形成阶段?

默认情况下CSV,JSON和PARQUET将创建2个作业,但是如果我们启用CSV文件的Inferschema,则它将创建3Jobs。

相关内容

  • 没有找到相关文章

最新更新