首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SnowSQL的性能极慢

SnowSQL的性能极慢
EN

Stack Overflow用户
提问于 2021-06-09 20:46:21
回答 2查看 579关注 0票数 3

我们正在从一个表中运行一个非常简单的选择,结果是一组大约170万行的数据。

我们希望能够将其导出到共享网络驱动器,但是文件写(查询本身运行时间约为3.5秒)的性能非常糟糕,大约在6小时内返回15万行。此时,我们的Okta身份验证超时,必须修改并重新运行查询,以捕获原始运行中未通过的行。

我可以在大约15分钟内针对本地和整个返回的数据集运行它,愉快地进入输出csv。

有什么办法能让我更深入地了解这里的延误吗?有没有其他人遇到过这个问题,并能够找到根本原因?

谢谢!

我应该添加用于引用的命令:

代码语言:javascript
复制
snowsql -c {connection} -f .\source_q.sql -o output_file=c:\users\{username}\desktop\snowsql\output.csv -o quiet=true -o friendly=false -o header=true -o output_format=csv --authenticator externalbrowser

我正在运行的查询如下所示:

代码语言:javascript
复制
select 
   cnt.id, 
   cnt.account_id, 
   cnt.did_c, 
   cnt.okta_id_c     
from 
   MEMBER.CONTACT cnt

为了简单起见,我删除了一些小where子句。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-09 22:52:14

似乎问题是写到你的网络驱动器太慢了。c:\users\{username}是网络路径,对吗?如果您可以在没有问题的情况下写入本地计算机,但是网络路径很慢,那么很可能是在不加快网络速度或使文件更小的情况下无法修复的。

有一件事将有助于在上传到网络驱动器之前对文件进行压缩。一个简单的方法是这样做:

代码语言:javascript
复制
snowsql -c {connection} -f .\source_q.sql -o friendly=false -o header=true -o output_format=csv --authenticator externalbrowser | gzip > c:\users\{username}\desktop\snowsql\output.csv

我删除了-o output_file=...-o quiet=true标志,这些标志将CSV发送到stdout,然后在加载到网络位置之前先通过GZIP进行管道传输。

这个方法显然是在文件从雪花下载之后进行压缩,但理想情况下,您需要在下载之前对其进行压缩。你可以这样做:

  1. 使用带有复制到标志的compression = gzip命令,在指定的内部阶段将数据复制到文件中
  2. 使用SNOWSQL运行到达命令将文件下载到网络位置

最后一个选项可能是最快的方式,但是它将在内部阶段生成多个文件,因此您必须下载每个文件。不管是哪种方式,通过压缩数据,您都应该会看到相当大的改进。当我测试一个有15万条记录的表时,我的文件大小从24 my增加到9 my。

票数 4
EN

Stack Overflow用户

发布于 2021-09-20 18:01:15

可以确认,与本地C:驱动器相比,向共享网络写入文件的速度要慢几个数量级。在西蒙回答的基础上,每当我需要从雪花下载大型表(< 5GB)作为 .csv文件时,我都会使用它。显然,添加、删除、更改某些选项都是需要的。

代码语言:javascript
复制
create or replace temporary stage unload_stage
file_format=(type=csv, compression=gzip, field_delimiter=',');

copy into @unload_stage/data.gz 
from my_table
single=true
max_file_size=4900000000;

get @unload_stage file://\\shared_network_folder\subfolder
parallel=1;

如果您可以使用远程服务器访问共享网络,则提取gzip-ed文件只需几秒钟,与本地计算机上的几分钟甚至几小时相比。

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

https://stackoverflow.com/questions/67911499

复制
相关文章

相似问题

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