这两个概念最近让我很困惑。
Snowflake Database更多的是指数据服务,其网址如下:
这更像是一个提供SQL引擎功能的云上数据平台或数据仓库。
另一方面,雪花模式更像是一种设计数据库模式的算法。
它们是完全不同的两种东西,只是巧合地有相同的名字吗?
我有以下雪花查询,其中出现除以零的错误...您能在这里帮助我吗...
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) 是否可以在 docker 容器内运行雪花的本地实例?我们需要为用snowsql编写的sql脚本添加测试用例。如果无法在 docker 容器内运行 Snowflake 的本地实例,那么是否有其他方法可以对 sql 脚本执行测试?
我正在尝试修复数据集中的数组。目前,我有一个数据集,其中包含多个不同 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
我们使用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
这是问题所在,我有一个销售信息表,其中包含销售信息,该表具有类似(主键ID,产品名称,产品ID,商店名称,商店ID,销售日期)的列。我想进行分析,例如对商店/产品/销售日期进行深入研究。
我正在考虑两个设计选项,
为了具有更好的分析性能,听说雪花模型更好。但是从数据库设计的角度来看,为什么它比相关列的索引更好?
预先感谢林
雪花允许 UNIQUE、PRIMARY KEY、FOREIGN KEY 和 NOT NULL 约束,但我读到它只强制执行 NOT NULL 约束。那么其他key的作用是什么,在什么情况下我们必须定义它们呢?我很欣赏任何例子。
谢谢你,普拉尚。
snowflake-schema snowflake-cloud-data-platform snowflake-task
我有一个 CSV 文件,其示例如下所示: CSV 文件的图像
Snowpipe 无法加载此 CSV 文件,并出现以下错误:
文件 (5) 中的列数与相应表 (3) 的列数不匹配,使用文件格式选项 error_on_column_count_mismatch=false 忽略此错误
有人可以建议我 csv 文件格式定义以适应加载而不会失败吗?
我有一个雪花表,其中有一个变体列 ( 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
我无法找到所需的权限列表 -
1.) 为角色创建行访问策略 2.) 将策略的使用授予不同的角色 3.) 将策略的修改授予不同的角色
需要从 DBADMIN 开始的简单逐步示例。
snowflake-schema ×10
snowflake-cloud-data-platform ×8
arrays ×1
database ×1
docker ×1
docker-image ×1
jsonschema ×1
performance ×1
python ×1
sql ×1
sqlalchemy ×1
variant ×1