卡桑德拉非反家庭

问题描述 投票:2回答:2

我试图创建一个带有计数器的表作为cassandra中的列类型之一但是收到以下错误:

ConfigurationException:ErrorMessage code = 2300 [由于配置问题导致查询无效] message =“无法在非计数器列族中添加计数器列(transaction_count)”

我的表架构如下:

CREATE TABLE MARKET_DATA_TRANSACTION_COUNT (
TRADE_DATE TIMESTAMP,      
SECURITY_EXCHANGE TEXT,
PRODUCT_CODE TEXT,
SYMBOL TEXT,
SPREAD_TYPE TEXT,     
USER_DEFINED TEXT,
PRODUCT_GUID TEXT,
CHANNEL_ID INT,  
SECURITY_TYPE TEXT,
INSTRUMENT_GUID TEXT,
SECURITY_ID INT,   
TRANSACTION_COUNT COUNTER,
PRIMARY KEY (TRADE_DATE));
cassandra cql3
2个回答
2
投票

这是当前计数器实现的限制。您不能在同一个表中混合计数器和常规列。所以你需要一个单独的计数器表。

他们正在考虑在Cassandra 3.x中删除这个限制。看到这个Jira ticket


2
投票

这不是问题的答案,可能会帮助一些有类似错误的人。

如果你可以将其他列作为PRIMARY KEY,则可能。

Eg: CREATE TABLE rate_data (ts varchar, type varchar, rate counter, PRIMARY KEY (ts, type));
© www.soinside.com 2019 - 2024. All rights reserved.