繁体   English   中英

Databricks 增量存储 - 缓存表以提高性能

[英]Databricks Delta storage - Caching tables for performance

在调查尝试提高某些查询性能的方法时,我遇到了 Delta 存储缓存选项,它给我留下了几个问题。 (一点知识是危险的)

spark.conf.set("spark.databricks.io.cache.enabled", "true")

  • 上面的代码是否只影响我所在的笔记本,还是适用于集群。
  • 如果是集群,它会在集群重新启动后恢复吗?

cache select * from tablename

  • 上面的代码是否缓存了表内容,如果我在 1 列上进行选择并加入另一个表,是否可以从中受益? 还是仅在再次发出该确切命令时才运行缓存(从表名中选择*)?

我基本上有 3 个表将被大量用于分析,我想提高性能。 我将它们创建为增量存储,在我认为可能最常用于过滤子句(但基数不太高)的列上进行分区,并将 zorder 应用于匹配所有 3 个表并将用于所有连接的列它们之间。 我现在正在探索缓存选项,看看是否可以进一步提高性能。

请参阅https://docs.databricks.com/delta/optimizations/delta-cache.html

简而言之:

  • 它适用于您的集群,与您的笔记本无关。

  • 它不支持 CSV、JSON 和 ORC。

  • 您选择的集群配置可能会影响设置和操作。 请参阅 URI。

  • 您可以同时使用 Delta 缓存和 Apache Spark 缓存。 例如,增量缓存包含远程数据的本地副本。 它可以提高各种查询的性能,但不能用于存储任意子查询的结果。 这就是 Spark 缓存的用途。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM