首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Snowflake是对集群中的多个节点还是单个节点执行“单个”查询?

Snowflake是对集群中的多个节点还是单个节点执行“单个”查询?
EN

Stack Overflow用户
提问于 2020-04-29 06:41:27
回答 2查看 328关注 0票数 1

当在Snowflake集群上执行“单个”查询时,它是使用与并行节点一样多的节点(如果可用)来执行查询,还是只使用集群中的一个节点来执行查询?

我正在寻找关于如何提高以下查询速度的缩放策略

代码语言:javascript
代码运行次数:0
运行
复制
INSERT INTO x SELECT FROM y
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-29 17:24:22

大多数时候,Snowflake会尝试并行运行查询并使用集群中的所有节点,但在极少数情况下,它可能只在节点的分区上运行。例如,如果数据源如此之小,如果有一个文件需要使用COPY命令摄取,或者您正在调用一个JavaScript存储过程来处理数据。

下面是一个简单的演示。无论群集有多少个节点,以下查询都将仅在1个节点上运行:

代码语言:javascript
代码运行次数:0
运行
复制
create or replace table dummy_test (id varchar) as 
select randstr(2000, random()) from table(generator(rowcount=>500000));

因为数据源是一个生成器(不能并行读取)。您可以尝试在不同规模的仓库上运行它,您将看到它将完成大约55秒(以防仓库中没有其他工作负载)。

正如Simeon和Mike提到的,查询可以在多集群仓库的一个集群中执行。多集群仓库用于提高并发性。

票数 1
EN

Stack Overflow用户

发布于 2020-04-29 06:54:25

multi-cluster warehouse的上下文中,只有一个节点。

因此,较大的问题更适合在较大的节点上运行,并且大量的查询针对大小正确的节点的集群运行得最好(从平均等待时间),但当然这需要更多的成本。但是如果你有一个固定的查询池,那么在更大的集群上运行它们的总成本应该是相同的,只是减少了时钟时间。

这也是一本关于scaling主题的好读物

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61491209

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档