【发布时间】:2022-06-16 02:48:18
【问题描述】:
在调查尝试提高某些查询性能的方法时,我遇到了 Delta 存储缓存选项,它给我留下了几个问题。 (一点知识是危险的)
spark.conf.set("spark.databricks.io.cache.enabled", "true")
- 上面的代码是否只影响我所在的笔记本,还是适用于集群。
- 如果是集群,集群重启后会恢复吗?
cache select * from tablename
- 上面的代码是否缓存了表内容,如果我在 1 列上执行选择并加入另一个表,是否可以从中受益?或者缓存是否仅在再次发出该确切命令时才运行(从表名中选择 *)?
我基本上有 3 个表,它们将大量用于分析,我想提高性能。我将它们创建为增量存储,在我认为可能最常用于过滤子句(但基数不太高)的列上进行分区,并将 zorder 应用于匹配所有 3 个表并将用于所有连接的列它们之间。我现在正在探索缓存选项,看看是否可以进一步提高性能。
【问题讨论】:
标签: performance apache-spark caching databricks