如何在cassandra中将列类型计数器更改为bigint?

时间:2015-10-28 10:37:08

标签: cassandra cql

CREATE TABLE temp (
    id bigint PRIMARY KEY,
    date timestamp,
    count counter
)

我有一张cassandra表^。我想将字段类型计数器更改为bigint

ALTER TABLE temp ALTER count TYPE counter ;
  

ConfigurationException:ErrorMessage code = 2300 [查询无效,因为   配置问题] message ="无法从类型bigint更改计数   输入计数器:类型不兼容。"

1 个答案:

答案 0 :(得分:0)

计数器在Cassandra中被视为特殊类型,这就是为什么只允许计数器类型作为计数器表中的非键字段。注意:您的表定义不正确,因为date列必须是上述定义有效的密钥的一部分。

这里你最好的选择是将你的表COPY发送到CQLSH的文件:

aploetz@cqlsh:stackoverflow> COPY countertest TO 'countertest_20151028.csv' 
                             WITH DELIMITER='|' AND HEADER=true; 

3 rows exported in 0.008 seconds.

然后DROP并以count作为BIGINT重新创建表。最后运行COPY(FROM)将数据重新导入到新表中。