我正在尝试保留临时视图,以便通过 sql 再次查询它:
val df = spark.sqlContext.read.option("header", true).csv("xxx.csv")
df.createOrReplaceTempView("xxx")
Run Code Online (Sandbox Code Playgroud)
持久化/缓存:
df.cache() // or
spark.sqlContext.cacheTable("xxx") // or
df.persist(MEMORY_AND_DISK) // or
spark.sql("CACHE TABLE xxx")
Run Code Online (Sandbox Code Playgroud)
然后我移动底层xxx.csv,并且:
spark.sql("select * from xxx")
Run Code Online (Sandbox Code Playgroud)
在此之后,我发现只CACHE TABLE xxx存储了一个副本。我做错了什么,如何坚持,例如。DISK_ONLY可查询的视图/表?