unpersist() 异步与同步

shi*_*455 6 apache-spark spark-streaming apache-spark-sql

我正在开发一个流应用程序并尝试取消持久化数据帧,因此最好使用 unpersist() --async call 或 unpersist(true)--blocking call 来清除缓存

哪个更好用,为什么?,DF 中的数据大小接近 150Gb。两种情况下内部发生了什么

df.unpersist() //df is a cached dataframe
val inputDf: DataFrame = readFile(spec, sparkSession) //read file from S3
or anyother source
val recreateddf = inputDf.persist()
Run Code Online (Sandbox Code Playgroud)

Spark文档

DataFrame   unpersist() 
DataFrame   unpersist(boolean blocking) 
Run Code Online (Sandbox Code Playgroud)

https://spark.apache.org/docs/1.4.0/api/java/org/apache/spark/sql/DataFrame.html