Dataset<Row> Data_one = spark.read().format("csv").option("header","true").load("src/main/resources/exams/students.csv");
System.out.println("Before persist");
Data_one.show();
Data_one.persist(StorageLevel.MEMORY_ONLY());
System.out.println("After persist");
Data_one.show();
Data_one.unpersist();
System.out.println("After unpersist");
Data_one.show();即使在取消后,数据帧仍在打印。只是搞不懂什么时候数据帧不会持久。
发布于 2020-02-10 18:49:23
将始终打印数据帧。持久化只是把它缓存在内存中。当在数据帧上调用任何求值操作时,例如show、head等,结果都会被计算出来。
persted和persted状态之间的区别如下:当数据帧在某个点上持久化时,将从内存中读取临时结果。如果不是,则重新计算所有操作。
在这里的特殊情况下,"after persist“打印数据帧所需的时间应该大大减少,当"after unpersist”时
https://stackoverflow.com/questions/60148302
复制相似问题