在雪花中成功创建任务,但运行“显示任务”时没有显示
Posted
技术标签:
【中文标题】在雪花中成功创建任务,但运行“显示任务”时没有显示【英文标题】:Successfully created a task in Snowflake, but it does not show up when running "show tasks" 【发布时间】:2020-07-02 05:10:41 【问题描述】:我是 Snowflake 的新手,正在尝试创建我的第一个任务。
CREATE TASK task_update_table
WAREHOUSE = "TEST"
SCHEDULE = 'USING CRON 0 5 * * * America/Los_Angeles'
AS
INSERT INTO "TEST"."WEB"."SOME_TABLE" (ID,VALUE1,VALUE2,VALUE3)
WITH CTE AS
(SELECT
ID
,VALUE1
,VALUE2
,VALUE3
FROM OTHER_TABLE
WHERE ID NOT IN (SELECT ID FROM "TEST"."WEB"."SOME_TABLE")
)
SELECT
ID,VALUE1,VALUE2,VALUE3
FROM CTE
我收到了任务创建成功的消息
“任务task_update_table成功创建”
然后我尝试在架构SHOW TASKS IN "TEST"."WEB"
中运行显示任务,结果得到 0 行。我究竟做错了什么?为什么任务没有显示?
我在 sysadmin 下完成了所有这些工作,并且使用了相同的仓库、数据库和架构。
【问题讨论】:
【参考方案1】:显示命令有一些限制可能会阻止您, 特别是“SHOW 命令只返回当前用户的当前角色已被授予必要访问权限的对象”。
https://docs.snowflake.com/en/sql-reference/sql/show.html#general-usage-notes
我怀疑任务是由不同的角色创建的(因此由不同的角色拥有),或者它可能是在不同的数据库或架构中创建的。
要找到它,我建议使用 ACCOUNTADMIN 等角色运行以下命令。
show tasks in account;
SELECT *
FROM (
SELECT *
FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())))
WHERE "name" = 'TASK_UPDATE_TABLE';
在 Snowflake 中进行测试和学习时,使用如下命令正确设置会话“上下文”至关重要:
USE ROLE my_role_here;
USE WAREHOUSE my_warehouse_here;
USE DATABASE my_database_here;
USE SCHEMA my_schema_here;
执行这四个命令,或为您的用户设置默认值将极大地帮助您学习。
我希望这会有所帮助...丰富
【讨论】:
非常感谢,Rich!奇怪的是,我创建了一个任务,然后在没有更改角色、数据库或架构的情况下立即运行 show 命令。我试着听从你的建议,但仍然没有,0 行。会不会是标准实例级别的任务不可用?还是我应该联系支持人员? 关于标准版 - 任务和流功能应该可用于您的部署 - 请参阅 docs.snowflake.com/en/user-guide/…。您是否尝试使用具有提升权限的角色(例如 ACCOUNTADMIN)运行 show 命令?如果您有并且找不到该任务,那么我的下一个建议可能是支持请求。以上是关于在雪花中成功创建任务,但运行“显示任务”时没有显示的主要内容,如果未能解决你的问题,请参考以下文章
hive moving data报错,unable to move source...,yarn显示任务执行成功