对于spark的RDD对象,这是非常简单的,因为它公开了一个getStorageLevel方法,但DF似乎没有暴露任何类似的东西。任何人吗?
答案 0 :(得分:5)
您可以使用Spark 2中的Catalog (org.apache.spark.sql.catalog.Catalog)
来查看是否缓存DataFrame的天气。
代码示例:
val sparkSession = SparkSession.builder.
master("local")
.appName("example")
.getOrCreate()
val df = sparkSession.read.csv("src/main/resources/sales.csv")
df.createTempView("sales")
//interacting with catalog
val catalog = sparkSession.catalog
//print the databases
catalog.listDatabases().select("name").show()
// print all the tables
catalog.listTables().select("name").show()
// is cached
println(catalog.isCached("sales"))
df.cache()
println(catalog.isCached("sales"))
使用上面的代码,您可以列出所有表格,并检查表格缓存的天气。
您可以查看工作代码示例here