Snowflake cloud data platform 我是否正确地重新排列了这张桌子?变型

Snowflake cloud data platform 我是否正确地重新排列了这张桌子?变型,snowflake-cloud-data-platform,Snowflake Cloud Data Platform,我正在尝试创建一个窗口函数,该函数告诉我一个表是否包含: 集群内的A、B或A&B值 例如: 我创建了一个JSON分区,其中包含一个s3 bucket,如下所示:s3://bucket\u name/application\u one/2016/07/01/11/ 示例的表内容来自: 从Test_cluster limit 2中选择* Row V T 1 { "city": { "coord": { "lat": 2.2673, "lon": 102.5453 }, "country":

我正在尝试创建一个窗口函数,该函数告诉我一个表是否包含: 集群内的A、B或A&B值

例如:

我创建了一个JSON分区,其中包含一个s3 bucket,如下所示:s3://bucket\u name/application\u one/2016/07/01/11/

示例的表内容来自:

从Test_cluster limit 2中选择*

Row  V    T
1
{ "city": { "coord": { "lat": 2.2673, "lon": 102.5453 }, "country": "MY", "id": 1732857, "name": "Tangkak" }, "data": [ { "clouds": 100, "deg": 82, "dt": 1571544000, "humidity": 50, ...
2019-10-19 23:35:37.000

2
{ "city": { "coord": { "lat": 2.0251, "lon": 103.3328 }, "country": "MY", "id": 1732811, "name": "Kluang" }, "data": [ { "clouds": 100, "deg": 155, "dt": 1571544000, "humidity": 69, ...
2019-10-19 23:35:37.000
我尝试的是:

ALTER  TABLE Test_Cluster CLUSTER BY (V, T);
ALTER  TABLE Test_Cluster RECLUSTER;

我得到一个错误,变量类型不受支持,是否有其他格式或强制转换可用于重新聚集我的变量Json表

不支持对变量进行聚类,但可以对变量表达式进行聚类

请参见雪花文档中的以下示例:

-- cluster by paths in variant columns
create or replace table t3 (t timestamp, v variant) cluster by (v:"Data":id::number);

另一个建议是:t列可能包含太多离散值,因此您可能需要一个类似于to_date(t)的表达式。我尝试对多个表达式进行聚类…聚类方式为(V:“city”:coord::string,V:“city”::string,V:“lat”::number,V:“lon”::number,V:“country”::string,V:“id”::number,V:“name”::string),但我想知道,在这一点上,我是否应该将JSON列转换为一个新表?这总是一种可能性。你读过关于集群的雪花指南吗?多列/表达式键应限制为两列或三列/表达式。顺序和基数非常重要。考虑如何查询该表。如果经常使用时间和城市,那么它们是很好的关键候选。谢谢你,迈克,如果我们遇到任何问题,我会仔细阅读并提出一个新问题。