有没有一种方法可以使用Spark连接器杀掉Snowflake查询?或者有没有一种方法在Spark中获取最后一个查询ID或会话ID以在Spark外部终止它。
用例是由用户控制的长时间运行的Spark作业和长时间运行的Snowflake查询。当用户终止Spark作业时,当前的Snowflake查询仍然保持运行状态(长达数小时)。
谢谢
有没有一种方法可以使用Spark连接器杀掉Snowflake查询?或者有没有一种方法在Spark中获取最后一个查询ID或会话ID以在Spark外部终止它。
用例是由用户控制的长时间运行的Spark作业和长时间运行的Snowflake查询。当用户终止Spark作业时,当前的Snowflake查询仍然保持运行状态(长达数小时)。
谢谢
使用与 Spark 相同的用户登录到 Snowflake UI(或使用 SnowSQL),并运行以下命令:
use database <your_db>;
use warehouse <your wh>;
select
query_id, query_text, execution_status, error_message, start_time, end_time
from
table(information_schema.query_history( RESULT_LIMIT => 10) );
这应该会显示您最近的查询。找到处于运行状态的查询,复制其QUERY_ID,并使用它来运行此命令:
select system$cancel_query('<your query id here>');
ALTER USER <name> SET STATEMENT_TIMEOUT_IN_SECONDS = 300;
- Lukasz Szozda