如何在 SnappyData 中对列表中的数据进行分区?

Posted

技术标签:

【中文标题】如何在 SnappyData 中对列表中的数据进行分区?【英文标题】:How do I partition data in a column table in SnappyData? 【发布时间】:2016-08-03 23:58:08 【问题描述】:

我无法弄清楚对“列”表进行分区的语法。这是一个对我来说失败的例子以及它的许多变体。

CREATE TABLE SENSOR_DATA_COL_BY_YEAR USING column OPTIONS(PARTITION_BY year_num, buckets '11') AS (SELECT sensor_id,metric,collection_time,value,sensor_time,year AS year_num, month AS month_num from STAGING_1);

还有……错误。

错误 38000:(SQLState=38000 严重性=-1) (服务器=172.31.8.115[1528],线程[DRDAConnThread_34,5,gemfirexd.daemons]) 异常'无效输入'C',预期dmlOperation,插入, withIdentifier,选择或放置(第 1 行,第 1 列):CREATE TABLE SENSOR_DATA_COL_BY_YEAR 使用列选项(PARTITION_BY year_num,桶 '11') AS (SELECT sensor_id,metric,collection_time,value,sensor_time,year AS year_num, 月 AS month_num 来自 STAGING_1) ^;'在评估一个时被抛出 表达。

【问题讨论】:

【参考方案1】:

在 PARTITION_BY 子句中指定的列名应该用引号 "year_num"

修改后的查询:

CREATE TABLE SENSOR_DATA_COL_BY_YEAR USING column OPTIONS(PARTITION_BY "year_num", buckets '11') AS (SELECT sensor_id,metric,collection_time,value,sensor_time,year AS year_num, month AS month_num from STAGING_1);

【讨论】:

这适用于一列。现在...当我尝试对 year_num 和 month_num 进行分区时,但我尝试过的语法都没有。此语法是否支持多个分区列,如果支持,它是什么样的? 多列分区的语法为 PARTITION_BY 'year_num,sensor_id'。即引号中的逗号分隔列名。

以上是关于如何在 SnappyData 中对列表中的数据进行分区?的主要内容,如果未能解决你的问题,请参考以下文章

Python - 在熊猫数据框中对列表中的行进行分组

如何使用 sql 查询以行存储模式在 snappydata 表中加载 JSON 数据?

SnappyData 上的 Theta Sketch (Yahoo)

在 R 中对列表中的唯一值进行分组的方法?

如何在 SwiftUI 中对列表中的值求和?

如何将 SnappyData 与 Kerberos 集成