Cassandra 非计数器系列
Cassandra non counter family
我试图创建一个 table 并将计数器作为 cassandra 中的一种列类型,但出现以下错误:
ConfigurationException: ErrorMessage code=2300 [Query invalid because
of configuration issue] message="Cannot add a counter column
(transaction_count) in a non counter column family"
我的table架构如下:
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));
这是当前计数器实现的局限性。您不能在同一个 table 中混合使用计数器和常规列。所以你需要一个单独的 table 用于计数器。
他们正在考虑在 Cassandra 中移除此限制 3.x。看到这个 Jira ticket.
这不是问题的确切答案,可能会帮助一些遇到类似错误的人。
如果您可以将其他列作为 PRIMARY KEY,那么它是可能的。
Eg: CREATE TABLE rate_data (ts varchar, type varchar, rate counter, PRIMARY KEY (ts, type));
我试图创建一个 table 并将计数器作为 cassandra 中的一种列类型,但出现以下错误:
ConfigurationException: ErrorMessage code=2300 [Query invalid because of configuration issue] message="Cannot add a counter column (transaction_count) in a non counter column family"
我的table架构如下:
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));
这是当前计数器实现的局限性。您不能在同一个 table 中混合使用计数器和常规列。所以你需要一个单独的 table 用于计数器。
他们正在考虑在 Cassandra 中移除此限制 3.x。看到这个 Jira ticket.
这不是问题的确切答案,可能会帮助一些遇到类似错误的人。
如果您可以将其他列作为 PRIMARY KEY,那么它是可能的。
Eg: CREATE TABLE rate_data (ts varchar, type varchar, rate counter, PRIMARY KEY (ts, type));