0

在读取任何 csv 时,无论 csv 文件的大小是小还是大,或者只有文件中的标题,它总是转换为 3 个阶段。并且总是有三个工作,每个工作都有一个阶段。我的应用程序没有任何转换和操作。它只是加载 csv。

公共类字数{

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();
}}

火花用户界面图像:

  1. spark UI 中的三个作业
  2. 阶段相关信息
  3. 所有三个阶段都具有相同的 dag 可视化
  4. 并且所有三个工作都具有相同的 dag 可视化
  5. 这是事件时间线

问题:

  1. 为什么加载或读取 csv 总是分为三个阶段和三个工作。
  2. 为什么在没有任何行动的情况下转换成三份工作?
  3. 代码级别的阶段是如何形成的?
4

0 回答 0