具有多列的聚类表
Posted
技术标签:
【中文标题】具有多列的聚类表【英文标题】:Clustering table with many columns 【发布时间】:2022-01-21 15:01:12 【问题描述】:我遇到了一个特定表的 ETL 运行时问题,该表有大约 100K 行和 650 列,其中大多数是整数(其他是字符串或日期)。 该表由 2 个字符串列进行聚类,etl 的逻辑主要用“Lag”、“Coalesce”、“Case”和“Least”命令构建。滞后由与表集群中的列相同的列进行分区。 此表在 ETL 中的步骤的运行时间很长。 我对 Snowflake 的成本效益逻辑不是很熟悉,并且在不知道从哪里开始查找的情况下调试此问题需要很长时间(因为运行查询大约需要一个小时!) 关于从哪里开始/阅读可以帮助我更快解决此问题的材料的任何建议?
【问题讨论】:
您能否分享一下查询的概况,以便我们查看哪个部分花费了时间? 【参考方案1】:雪花中的集群键通过减少扫描所需的微分区数量来工作。由于您的表非常小,因此使用集群键确实没有意义,而且它可能不会对性能产生任何影响。我建议在 ETL 步骤运行时查看查询配置文件,以了解时间花在了哪里。
https://docs.snowflake.com/en/user-guide/ui-query-profile.html
另外,您是否尝试过扩展到更大的仓库?
【讨论】:
以上是关于具有多列的聚类表的主要内容,如果未能解决你的问题,请参考以下文章