雪花云数据平台-查询在浏览器中运行良好,但在CLI中失败



我安装了TPC-H基准测试。我可以在浏览器中运行这个命令,它运行得很好:

select * from h_customer;

但是,如果我从Linux CLI运行它,它就永远不会返回。

如果我将其修改为更小,它将在CLI:中工作

select * from h_customer limit 10;

回报很好。然后我可以继续:

select * from h_customer limit 100; -- This works.
select * from h_customer limit 1000; -- This hangs.

"历史记录"视图显示服务器获取了"限制为1000"的查询,并正确处理了它。它在一个合理的时间内运行,历史视图显示了正确的1000行。

我可以用其他表和查询来重现这一点。这似乎是客户端的数据量问题。但是返回1000行应该是微不足道的。我希望它能回来更多。

Snowflake直接向客户端发送小的结果集。对于较大的文件,它将客户端引导到结果集缓存以下载一个或多个压缩文件。结果集缓存来自云提供商,而不是直接来自snowflakecomputing.com。

1000行是在两者之间切换的一个阈值,我已经看到非常宽的表用更少的行也能做到这一点。然后,客户端尝试下载S3文件、Azure blob或GCS文件,具体取决于Snowflake的运行位置。某些东西阻止您的Linux客户端下载这些文件。

通常它是一个具有状态数据包检查功能的防火墙,例如Palo Alto或Cisco。他们有时会解密HTTPS流量,并丢弃看起来应该是"雪花计算"但来自AWS、Azure或GCP的数据包。

它也可以是一个代理服务器。由于它是在浏览器中工作的,所以两者获取大型结果集的方式有所不同。浏览器可能配置了代理。您可以为包括SnowSQL在内的所有Snowflake客户端设置代理https://docs.snowflake.com/en/user-guide/snowsql-start.html#using-a代理服务器。

请与您的网络团队联系,看看是否有什么东西从云提供商或雪花计算网站上丢弃了数据包。

相关内容

  • 没有找到相关文章

最新更新