标签: snowflake-cloud-data-platform

有没有办法现在强制运行雪花的任务(在下一个预定时段之前)?

我计划每 15 分钟运行一次任务:

CREATE OR REPLACE TASK mytask
  WAREHOUSE = 'SHARED_WH_MEDIUM'
  SCHEDULE = '15 MINUTE'
  STATEMENT_TIMEOUT_IN_SECONDS = 3600,
  QUERY_TAG = 'KLIPFOLIO'
AS
  CREATE OR REPLACE TABLE mytable AS
   SELECT * from  xxx; 
;

alter task mytask resume;
Run Code Online (Sandbox Code Playgroud)

我从输出中看到task_history()任务是SCHEDULED

select * from table(aftonbladet.information_schema.task_history(task_name => 'MYTASK')) order by scheduled_time;
QUERY_ID    NAME    DATABASE_NAME   SCHEMA_NAME QUERY_TEXT  CONDITION_TEXT  STATE   ERROR_CODE  ERROR_MESSAGE   SCHEDULED_TIME  COMPLETED_TIME  RETURN_VALUE
***     MYTASK  *** *** ***     SCHEDULED           2020-01-21 09:58:12.434 +0100       
Run Code Online (Sandbox Code Playgroud)

但我希望它立即运行而不等待 SCHEDULED_TIME,有什么方法可以实现这一点吗?

snowflake-cloud-data-platform snowflake-task

10
推荐指数
1
解决办法
9832
查看次数

雪花数据库和雪花模式有什么区别

这两个概念最近让我很困惑。

Snowflake Database更多的是指数据服务,其网址如下:

https://www.snowflake.com/

这更像是一个提供SQL引擎功能的云上数据平台或数据仓库。

另一方面,雪花模式更像是一种设计数据库模式的算法。

它们是完全不同的两种东西,只是巧合地有相同的名字吗?

snowflake-schema snowflake-cloud-data-platform

10
推荐指数
1
解决办法
5249
查看次数

“数字值''无法识别” - 哪一列?

我正在尝试将数据从临时表插入到主表中。该表有近 300 列,混合了 Varchars、Integers、Decimals、Dates 等数据类型。

Snowflake 给出无用的错误消息“无法识别数值

我已经仔细检查并删除了查询的各个部分,以尝试隔离它的来源。经过几个小时并剪掉每一栏后,这种情况仍然在发生。

有谁知道 Snowflake 诊断查询(如 Redshift 那样)可以告诉我问题发生的特定列?

sql snowflake-cloud-data-platform

10
推荐指数
1
解决办法
3万
查看次数

SnowFlake MERGE 更新/插入所有列

雪花是否支持使用类似UPDATE *or的语法更新/插入所有列INSERT *

 MERGE INTO events 
 USING updates 
      ON events.eventId = updates.eventId
 WHEN MATCHED THEN 
      UPDATE *
 WHEN NOT MATCHED THEN 
       INSERT *  
Run Code Online (Sandbox Code Playgroud)

类似于 Databricks 的做法:https ://docs.databricks.com/spark/latest/spark-sql/language-manual/delta-merge-into.html

或者我们是否必须列出每一列及其值?

当我尝试上述操作时出现错误

语法错误...意外的“*”。

并且文档没有多大帮助:https://docs.snowflake.com/en/sql-reference/sql/merge.html

谢谢,

sql merge upsert snowflake-cloud-data-platform

10
推荐指数
1
解决办法
6602
查看次数

为什么在尝试表实现时,dbt 中会出现“选择活动仓库”错误,而视图实现时却不会出现该错误?

我已经使用 dbt 几个月了,所以对它还很陌生。运行测试模型时,使用视图物化没有任何问题:

{{ config(materialized='view') }}

select 1 as id
Run Code Online (Sandbox Code Playgroud)

导致:

15:30:25 | 1 of 1 START view model dbt.stg_CampaignTableTest.................... [RUN]
15:30:26 | 1 of 1 OK created view model dbt.stg_CampaignTableTest............... [SUCCESS 1 in 1.48s]
Run Code Online (Sandbox Code Playgroud)

但是,当我切换到表实现时,我收到一条错误消息,表明未在 Snowflake 中选择活动仓库:

{{ config(materialized='table') }}

select 1 as id
Run Code Online (Sandbox Code Playgroud)

导致:

15:32:52 | 1 of 1 START table model dbt.stg_CampaignTableTest................... [RUN]
15:32:53 | 1 of 1 ERROR creating table model dbt.stg_CampaignTableTest.......... [ERROR in 1.22s]

Database Error in model stg_CampaignTableTest (models/test/stg_CampaignTableTest.sql)
  000606 (57P03): No active warehouse …
Run Code Online (Sandbox Code Playgroud)

snowflake-cloud-data-platform dbt

10
推荐指数
1
解决办法
4452
查看次数

在 DBT 中使用 Unique_Key 中的多个列进行增量加载

对于增量模型,DBT 文档在这里说:

\n
\n

unique_key 应在模型定义中作为表示简单列的字符串或可以一起使用的单引号列名称列表提供,例如 [\'col1\', \'col2\', \xe2\x80 \xa6])

\n
\n

我已经用这个增量定义在 DBT 中构建了一个增量模型

\n
{{\n  config(\n    materialized=\'incremental\',\n    unique_key = [\'Col1\', \'Col2\', \'Col3\']\n  )\n}}\n
Run Code Online (Sandbox Code Playgroud)\n

它编译成 Snowflake 中的合并语句:

\n
{{\n  config(\n    materialized=\'incremental\',\n    unique_key = [\'Col1\', \'Col2\', \'Col3\']\n  )\n}}\n
Run Code Online (Sandbox Code Playgroud)\n

这合理地引发了一个 SQL 错误,抱怨括号:

\n
\n

SQL编译错误:语法错误第4行位于位置32意外\'[\'。第 4 行语法错误位于位置 45 意外的 \',\'。语法错误第 4 行位于位置 98 处意外的 \'[\'。第 4 行语法错误,位置 111 处出现意外的 \',\'。

\n
\n

我找不到任何其他以这种方式使用多列的好例子。(有涉及连接列的选项,我愿意接受有关最佳方法的建议,但我正在尝试找出如何使用 DBT 推荐的语法)

\n

snowflake-cloud-data-platform dbt

10
推荐指数
1
解决办法
8213
查看次数

授予雪花表所有权时出错

我正在尝试将 Snowflake DWH 中的一个角色更改OWNERSHIP为其他角色。SayOld Owner Role是具有当前所有权的角色,New Owner Role是我希望授予所有权的角色,并且R3是一个已经可以访问感兴趣的对象的角色。当我尝试这样做时,出现以下错误。

SQL 执行错误:存在对角色“R3”的安全“SELECT”权限的依赖授予。必须先将其撤销。可能存在不止一项附属补助金

为什么现有角色会成为所有权变更的问题?

snowflake-cloud-data-platform

9
推荐指数
1
解决办法
5255
查看次数

AWS Redshift与Snowflake用例

我想知道是否有人使用过AWS Redshift和Snowflake,并使用了一个更好的案例.我使用过Redshift,但最近有人建议Snowflake作为一个很好的选择.我的用例基本上是零售营销数据,将由少数分析师使用,他们不是非常精通SQL,并且最有可能拥有报告工具

amazon-web-services snowflake-cloud-data-platform

9
推荐指数
3
解决办法
4468
查看次数

如何在 Snowflake 中定义数组变量

如何在雪花工作表中定义数组变量?

set columns =  (SELECT array_agg(COLUMN_NAME) FROM INFORMATION_SCHEMA.COLUMNS 
                where table_name='MEMBERS');
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

不支持的功能“来自非常量源表达式的分配”。

arrays variables snowflake-cloud-data-platform

9
推荐指数
1
解决办法
1万
查看次数

雪花中日期转换为年月

我正在尝试将日期(格式为 yyyy-mm-dd)转换为年月格式(例如:2021-07),同时保留日期数据类型。

对于 SQL Server,这可以使用FORMAT函数来完成,如下所示:

SELECT FORMAT(date_column, 'yyyy-MM')
Run Code Online (Sandbox Code Playgroud)

我想知道如何在SNOWFLAKE中实现这一点。我在SNOWFLAKE中找不到FORMAT函数,因此我尝试使用 DATE、DATE_PART,但它们似乎都使我的列成为 varchar,失去了其日期类型。

谢谢。

sql snowflake-cloud-data-platform

9
推荐指数
1
解决办法
3万
查看次数