标签: snowflake-schema

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

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

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

https://www.snowflake.com/

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

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

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

snowflake-schema snowflake-cloud-data-platform

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

雪花查询中遇到除以零错误

我有以下雪花查询,其中出现除以零的错误...您能在这里帮助我吗...

with cte1 as 
(select * from "coe.cup"
where typeofcare ='AM'
and status ='DONE'
and review ='false'
and date (assigneddate)>='2021-04-01'), cte2 as(
select cast(completed as date) completeddate ,iscode
 ,iff(iscode=1,datediff(minute,assigneddate,coded),0) codeddatetime
 ,iff(iscode=0,datediff(minute,assigneddate,qaed),0) qaeddatetime
 ,datediff(minute,assigneddate,completed) overall  from 
 (select *,iff(qaed='1900-01-01 00:00:00.0000000',1,0) iscode from cte1)a )
 select completeddate 
 ,sum(iff(iscode=1,1,0)) noofvisitbillscoded
 ,sum(iff(iscode=1,0,1)) noofvisitbillscodedandqaed
 ,count(1) totalvisitbillscompleted
 ,cast(sum(codeddatetime)/sum(iff(iscode=1,1,0)) as float)/60 averagetimeforcodedvisitbills
 ,cast(sum(qaeddatetime)/sum(iff(iscode=1,0,1)) as float)/60  averagetimeforcodedandqaedvisitbills
 ,cast(sum(overall)/count(1) as float)/60 overallaveragetime
 from cte2
 group by completeddate
Run Code Online (Sandbox Code Playgroud)

snowflake-schema snowflake-cloud-data-platform

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

是否可以使用 Docker 运行本地 Snowflake 实例?

是否可以在 docker 容器内运行雪花的本地实例?我们需要为用snowsql编写的sql脚本添加测试用例。如果无法在 docker 容器内运行 Snowflake 的本地实例,那么是否有其他方法可以对 sql 脚本执行测试?

snowflake-schema docker docker-compose docker-image

7
推荐指数
1
解决办法
4208
查看次数

从数组中展平 Snowflake 中的数据源

我正在尝试修复数据集中的数组。目前,我有一个数据集,其中包含多个不同 uuid 的引用号。我想做的就是在 Snowflake 中将其展平,以便每个 uuid 的参考号都有单独的行。例如

Reference                                       UUID
1) 9f823c2a-ced5-4dbe-be65-869311462f75 "[
                                         ""05554f65-6aa9-4dd1-6271-8ce2d60f10c4"",
                                         ""df662812-7f97-0b43-9d3e-12f64f504fbb"",
                                          ""08644a69-76ed-ce2d-afff-b236a22efa69"",
                                          ""f1162c2e-eeb5-83f6-5307-2ed644e6b9eb"",
                                            ]"
Run Code Online (Sandbox Code Playgroud)

最终应该看起来像:

Reference                                UUID
1) 9f823c2a-ced5-4dbe-be65-869311462f75    05554f65-6aa9-4dd1-6271-8ce2d60f10c4
2) 9f823c2a-ced5-4dbe-be65-869311462f75    df662812-7f97-0b43-9d3e-12f64f504fbb
3) 9f823c2a-ced5-4dbe-be65-869311462f75    08644a69-76ed-ce2d-afff-b236a22efa69
4) 9f823c2a-ced5-4dbe-be65-869311462f75    f1162c2e-eeb5-83f6-5307-2ed644e6b9eb

Run Code Online (Sandbox Code Playgroud)

我刚刚开始在 Snowflake 工作,所以我对它很陌生。看起来有一个横向扁平化,但这要么不能告诉我我有各种各样的错误。雪花的文档在这方面有点令人困惑。

sql arrays snowflake-schema snowflake-cloud-data-platform snowflake-task

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

Protocol buffer/JSON 架构到 SQL DDL

我们使用protocol buffers(protobuf) 在内部定义我们的模式,并让翻译器转换为各种其他内部表示形式,例如 JSON Schema(Protobuf 到 JSON 模式转换器),以便让 protobuf 模式成为事实来源。

我们还计划从 protobuf 模式创建 SQL DDL,但找不到可靠且支持良好的转换器。我们发现的一些工具(例如jsonutils)似乎并不活跃。

SQL 到 protobuf 生成器很多(示例: https: //github.com/jackskj/protoc-gen-map/)

我们需要一个简单的转换器来将 protobuf 模式转换为CREATE有关 protobuf 模式创建的语句,以及ALTER在 SnowSQL 中将新列添加到 protobuf 模式时的潜在语句(我们不支持更改字段类型或删除 protobuf 模式中的字段)。嵌套消息可以存储为variant且不必展平。是否有任何工具,或者我们应该为此编写一个自定义工具?

message Foo {
  string uuid = 1;
  MessageType1 message_type1 = 2;
  MessageType2 message_type2 = 3;
  google.protobuf.Timestamp updated_at = 4;
  float some_num = 5;
}
Run Code Online (Sandbox Code Playgroud)

被翻译成

CREATE TABLE FOO (
    uuid string,
    message_type1 variant,
    message_type2 variant, …
Run Code Online (Sandbox Code Playgroud)

python jsonschema protocol-buffers snowflake-schema snowflake-cloud-data-platform

6
推荐指数
0
解决办法
2166
查看次数

雪花胜于索引?

这是问题所在,我有一个销售信息表,其中包含销售信息,该表具有类似(主键ID,产品名称,产品ID,商店名称,商店ID,销售日期)的列。我想进行分析,例如对商店/产品/销售日期进行深入研究。

我正在考虑两个设计选项,

  1. 在产品名称,产品ID,商店名称,商店ID,销售日期等列上创建单独的索引;
  2. 使用数据仓库雪花模型,将当前销售信息表视为事实表,并创建产品,商店和销售日期维度表。

为了具有更好的分析性能,听说雪花模型更好。但是从数据库设计的角度来看,为什么它比相关列的索引更好?

预先感谢林

database performance data-warehouse snowflake-schema

5
推荐指数
1
解决办法
2330
查看次数

雪花中约束的意义

雪花允许 UNIQUE、PRIMARY KEY、FOREIGN KEY 和 NOT NULL 约束,但我读到它只强制执行 NOT NULL 约束。那么其他key的作用是什么,在什么情况下我们必须定义它们呢?我很欣赏任何例子。

谢谢你,普拉尚。

snowflake-schema snowflake-cloud-data-platform snowflake-task

5
推荐指数
1
解决办法
366
查看次数

如何创建 csv 文件格式定义以将数据加载到雪花表中

我有一个 CSV 文件,其示例如下所示: CSV 文件的图像

Snowpipe 无法加载此 CSV 文件,并出现以下错误:

文件 (5) 中的列数与相应表 (3) 的列数不匹配,使用文件格式选项 error_on_column_count_mismatch=false 忽略此错误

有人可以建议我 csv 文件格式定义以适应加载而不会失败吗?

snowflake-schema snowflake-cloud-data-platform

5
推荐指数
1
解决办法
5410
查看次数

更新 Snowflake 中的混合嵌套对象

我有一个雪花表,其中有一个变体列 ( raw)。

该表中的每一行都是复杂的(字典和数组)并且是嵌套的(多个层次结构)。

我想要做的是能够更新某个数组中的特定项目。

使用示例会更容易理解它,因此将其视为表中的一行:

{
  "id": "1234"
  "x_id": [
    {
      "y_id": "790437306684007491",
      "y_state": "some_state"
    }
  ],
  "comments": {
    "1": [
      {
        "comment_id": "bb288743-3b73-4423-b76b-f26b8c37f7d4",
        "comment_timestamp": "2021-02-10 14:53:25.667564",
        "comment_text": "Hey"
      },
      {
        "comment_id": "7378f332-93c4-4522-9f73-3b6a8a9425ce",
        "comment_text": "You",
        "comment_timestamp": "2021-02-10 14:54:21.337046"
      }
    ],
    "2": [
      {
        "comment_id": "9dd0cbb0-df80-4b0f-b399-9ee153161462",
        "comment_text": "Hello",
        "comment_timestamp": "2021-02-09 09:26:17.987386"
      },
      {
        "comment_id": "1a3bf1e8-82b5-4a9c-a959-a1da806ce7e3",
        "comment_text": "World",
        "comment_timestamp": "2021-02-09 09:28:32.144175"
      }
    ]
  }
}
Run Code Online (Sandbox Code Playgroud)

我想要的是更新特定评论的评论文本。

我知道我可以以编程方式更新整个 JSON 并使用 更新整个对象PARSE_JSON,但这种方法还不够,因为可能有其他更新会覆盖其他注释,因此这种方法将失败(因为这些更新将相互覆盖)。

首先,我尝试了天真的方法(我知道这行不通,但我必须尝试):

update table1
set …
Run Code Online (Sandbox Code Playgroud)

sqlalchemy variant snowflake-schema snowflake-cloud-data-platform

5
推荐指数
1
解决办法
3217
查看次数

雪花行访问策略权限

我无法找到所需的权限列表 -

1.) 为角色创建行访问策略 2.) 将策略的使用授予不同的角色 3.) 将策略的修改授予不同的角色

需要从 DBADMIN 开始的简单逐步示例。

snowflake-schema snowflake-cloud-data-platform

5
推荐指数
1
解决办法
519
查看次数