如何在 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 中对列表中的数据进行分区?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 sql 查询以行存储模式在 snappydata 表中加载 JSON 数据?