具有多列的聚类表

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

另外,您是否尝试过扩展到更大的仓库?

【讨论】:

以上是关于具有多列的聚类表的主要内容,如果未能解决你的问题,请参考以下文章

比较具有基本事实的聚类

具有离散和连续属性的聚类算法?

高维数据的聚类小记

r中具有多个个体的聚类分析

基于地理坐标查找具有最大间距的聚类

具有两种颜色的聚类条形图