我有一个托管在DC / OS实例中的应用程序,应用程序查询雪花数据库并获得结果。我正在使用snowflake sdk来查询雪花数据库,我们也在流式传输我们从雪花获得的结果。
var statement = connection.execute({
sqlText: sql,
complete: function (err, stmt, rows) {
var stream = stmt.streamRows();
callback(err, stream, response);
}}
但是如果查询很大并且查询处理在雪花中需要时间,我的客户端会得到504网关超时错误。尽管节点服务仍然在运行,但是假设我从浏览器/邮递员那里击中DC / OS我会这里得到504超时错误但雪花将结果返回给我的节点服务。什么是避免它的正确策略? 这是我从服务器到客户端的错误,虽然我的节点服务仍然保持与雪花的连接并从雪花获得结果。
答案 0 :(得分:1)
你能检查一下你的语句超时设置是什么吗?
您可以尝试以下操作吗:
https://docs.snowflake.com/en/sql-reference/sql/alter-user.html
# set timeout to 15 minutes
alter user USERNAME set STATEMENT_TIMEOUT_IN_SECONDS = 900;
https://docs.snowflake.com/en/sql-reference/sql/alter-session.html
STATEMENT_TIMEOUT_IN_SECONDS =
示例 将会话中执行的语句的锁定超时设置为 1 小时(3600 秒):
alter session set STATEMENT_TIMEOUT_IN_SECONDS = 3600;
将会话中执行的语句的锁定超时设置回默认值:
alter session unset STATEMENT_TIMEOUT_IN_SECONDS;
您联系过雪花支持吗?