2016-08-03 15 views
1

我无法找出划分我的'列'表的语法。这是一个对我来说失败的例子,以及它的许多变化。如何在SnappyData的列表中分区数据?

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); 

而......错误。

ERROR 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使用柱OPTIONS(PARTITION_BY YEAR_NUM,水桶 '11')AS(SELECT sensor_id,公制,collection_time,值,sensor_time, year AS year_num, month AS month_num from STAGING_1)^;'在评估 表达式时被抛出。在PARTITION_BY子句指定

回答

2

列名称应在引号 “YEAR_NUM”

修改的查询:

CREATE TABLE SENSOR_DATA_COL_BY_YEAR使用柱OPTIONS(PARTITION_BY “YEAR_NUM”,水桶 '11')AS(SELECT sensor_id,metric,collection_time,value,sensor_time,year AS year_num,month AS month_num from STAGING_1);

+0

这适用于一列。现在...当我尝试对year_num和month_num进行分区时,但没有尝试使用过的语法。此语法是否支持多个分区列,如果是这样,那么这是什么样的? – Jason

+0

多列分区by子句的语法是PARTITION_BY'year_num,sensor_id'。即逗号分隔列名引号。 – suranjan

相关问题