【发布时间】:2016-05-26 22:56:39
【问题描述】:
来自 Spark 官方document,它说:
Spark SQL 可以通过以下方式使用内存中的列格式缓存表 调用 sqlContext.cacheTable("tableName") 或 dataFrame.cache()。然后 Spark SQL 将仅扫描所需的列并自动调整 压缩以最小化内存使用和 GC 压力。你可以打电话 sqlContext.uncacheTable("tableName") 从内存中删除表。
使用内存列格式缓存表的真正含义是什么? 将整张表放入内存?我们知道缓存也是惰性的, 该表在查询的第一个操作之后被缓存。如果选择不同的操作或查询,它对缓存表有什么影响吗?我已经多次搜索过这个缓存主题,但没有找到一些详细的文章。如果有人可以提供有关此主题的链接或文章,我将不胜感激。
http://spark.apache.org/docs/latest/sql-programming-guide.html#caching-data-in-memory
【问题讨论】:
标签: caching apache-spark apache-spark-sql