spark sql 会自动进行cache吗

2025-03-19 06:45:53
推荐回答(1个)
回答1:

1.几种缓存数据的方法
例如有一张Hive表叫做activity
1.CACHE TABLE
//缓存全表
sqlContext.sql("CACHE TABLE activity")

//缓存过滤结果
sqlContext.sql("CACHE TABLE activity_cached as select * from activity where ...")

CACHE TABLE是即时生效(eager)的,如果你想等到一个action操作再缓存数据可以使用CACHE LAZY TABLE,这样操作会直到一个action操作才被触发,例如count(*)
sqlContext.sql("CACHE LAZY TABLE ...")

取消hive表缓存数据
sqlContext.sql("UNCACHE TABLE activity")