Snowflake cloud data platform Snowflake中的异步游标执行
(代表雪花用户提交)Snowflake cloud data platform Snowflake中的异步游标执行,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,(代表雪花用户提交) 在Snowflake上执行查询时,我需要它的查询id。因此,我使用以下代码段: cursor.execute(query, _no_results=True) query_id = cursor.sfqid cursor.query_result(query_id) 此代码段对于运行中的小查询工作良好。但对于执行时间超过40-45秒的查询,查询结果函数会失败,出现keyrorm u'rowtype' 堆栈跟踪: File "snowflake/connector/c
在Snowflake上执行查询时,我需要它的查询id。因此,我使用以下代码段:
cursor.execute(query, _no_results=True)
query_id = cursor.sfqid
cursor.query_result(query_id)
此代码段对于运行中的小查询工作良好。但对于执行时间超过40-45秒的查询,查询结果函数会失败,出现keyrorm u'rowtype'
堆栈跟踪:
File "snowflake/connector/cursor.py", line 631, in query_result
self._init_result_and_meta(data, _use_ijson)
File "snowflake/connector/cursor.py", line 591, in _init_result_and_meta
for column in data[u'rowtype']:
KeyError: u'rowtype'
为什么会出现这种错误?如何解决这个问题
有什么建议吗?谢谢 雪花Python连接器允许使用cur.execute(sql,\u no\u results=True) 这个“火与遗忘” SQL执行风格允许父进程继续,而无需等待SQL命令完成(想想可能超时的长时间运行的SQL) 如果使用此方法,许多开发人员将编写捕获唯一雪花查询ID的代码(就像您在代码中所做的那样),然后使用该查询ID“稍后再检查查询状态”, 在某种循环过程中。当您返回以获取状态时,您可以使用result\u scan()函数从该查询id获取结果 我希望这有助于…Rich