【问题标题】:how to change column type counter to bigint in cassandra?如何在 cassandra 中将列类型计数器更改为 bigint?
【发布时间】:2016-01-28 02:14:07
【问题描述】:
CREATE TABLE temp (
    id bigint PRIMARY KEY,
    date timestamp,
    count counter
)

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

ALTER TABLE temp ALTER count TYPE counter ;

ConfigurationException: ErrorMessage code=2300 [查询无效,因为 of configuration issue] message="Cannot change count from type bigint 键入计数器:类型不兼容。”

【问题讨论】:

    标签: cassandra cql


    【解决方案1】:

    计数器在 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) 将数据重新导入新表。

    【讨论】:

      猜你喜欢
      • 2017-09-07
      • 2021-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多