小编epa*_*095的帖子

在与分区列相关的列上进行筛选时的 Databricks 查询性能

设置:Delta-lake、powerbi 使用的 Databricks SQL 计算。我想知道以下场景:我们有一个列timestamp和一个派生列date(即 的日期timestamp),并且我们选择partitionby日期。当我们查询时,我们使用timestamp过滤器,而不是日期。

我的理解是,databrikcs 先验不会连接时间戳和日期,并且似乎不会获得分区的任何优势。但由于文件实际上是按时间戳(隐式)分区的,因此当databricks查看所有文件的最小/最大时间戳时,它会发现它毕竟可以跳过大多数文件。因此,即使分区位于我们在查询中未明确使用的列上,我们似乎也可以从分区中获得很大的好处。

  1. 它是否正确?
  2. 与直接使用分区相比,以这种方式过滤掉文件的性能成本(大致)是多少?
  3. databricks 是否会将所有最小/最大信息存储在内存中,还是必须出去查看每个查询的文件?

databricks delta-lake

4
推荐指数
1
解决办法
2500
查看次数

标签 统计

databricks ×1

delta-lake ×1