当前位置: 首页 > 知识库问答 >
问题:

Cassandra CQL:计数器列的创建和修改

蓬意致
2023-03-14
Statement st = con.createStatement();
String data = "CREATE COLUMNFAMILY user_count(priKey text PRIMARY KEY, countME counter)";
st.execute(data);
Exception in thread "main" java.sql.SQLSyntaxErrorException:        
org.apache.cassandra.config.ConfigurationException: Cannot add a counter column   
(countme) in a non counter column family

'CREATE COLUMNFAMILY user_count(priKey text PRIMARY KEY, countME counter)'
at org.apache.cassandra.cql.jdbc.CassandraStatement.doExecute(CassandraStatement.java:179)
at org.apache.cassandra.cql.jdbc.CassandraStatement.execute(CassandraStatement.java:203)
at cassandratest.EdgeCreator.aaListData(EdgeCreator.java:1323)
at cassandratest.Main.main(Main.java:214)

在使用cqlsh中的CREATE语句时,我得到一个ConfigurationException。cqlsh会话如下:

Connected to Test Cluster at localhost:9160.
[cqlsh 3.0.0 | Cassandra 1.1.0 | CQL spec 3.0.0 | Thrift protocol 19.30.0]
Use HELP for help.
cqlsh> use "Keyspace2";
cqlsh:Keyspace2> CREATE COLUMNFAMILY user_count(priKey text PRIMARY KEY, countME
counter);
Bad Request: org.apache.cassandra.config.ConfigurationException: Cannot add a 
counter column (countme) in a non counter column family
cqlsh:Keyspace2>

共有1个答案

裴理
2023-03-14

你确定你使用的是CQL3吗?从您的回溯来看,它不是这样的,如果您不小心使用了CQL2,我就会想到这个错误。

create语句应该在CQL3中工作。

编辑:您使用的是CQL3,但没有使用Cassandra 1.1.2。这是1.1.0中已知的bug;如果升级到1.1.2就应该修复。

 类似资料:
  • 本文向大家介绍Postgresql数据库之创建和修改序列的操作,包括了Postgresql数据库之创建和修改序列的操作的使用技巧和注意事项,需要的朋友参考一下 创建序列 (从1开始,递增幅度1,最大值无上限): 更改序列值 (方法中两个参数分别是1.序列名字,2.序列修改后值): Navicat Premium中序列位置如下图: 补充:PostgreSQL 序列增删改 创建序列 指定序列(给表的主

  • 我想从我的Pandas数据帧列中创建一个唯一值的计数,然后将这些计数添加到原始数据帧中的新列。我尝试了一些不同的方法。我创建了一个熊猫系列,然后用value_counts方法计算计数。我试图将这些值合并回我的原始数据框,但我想要合并的键在索引(ix/loc)中。 我想退货,比如:

  • 问题内容: 我有一个如下所示的df: 我正在尝试创建一个如下所示的df: 我试过了 但这不是我要寻找的。 任何指导表示赞赏 问题答案: 那不是新的专栏,而是新的DataFrame: 要获得想要的结果,请使用: 要获得“新列”,您可以使用transform: 我建议阅读docs的split- apply-combine部分 。

  • 我有一个df,看起来像: 作为pd进口熊猫 df df

  • 行动时刻 - 使用unlang创建数据计数器 我们首先必须确保某些事情到位,以便这项工作取得成功。 应首先完成以下项目作为准备: 在字典中定义自定义属性。 创建将由FreeRADIUS perl模块使用的Perl脚本。 更新Mikrotk和Chillispot词典。 准备用户文件。 准备SQL数据库。 将unlang代码添加到虚拟服务器以充当数据计数器。 如果存在,则识别LD_PRELOAD错误。

  • 我有一个踢足球比赛的数据集,我正试图更仔细地观察每个球队在家里踢的比赛。因此,我试图为每支球队创建一个专栏,其中包含跟踪连续获胜的计数器。应适用以下逻辑: 如果获胜:增加计数器=1 我创建了一个函数,该函数输出一个可以映射到数据帧(按日期排序)的字典,以创建新的计数器列。 应创建一个新列,指示主队的连续得分。子集的预期结果应如下所示: 我试图将dict映射到新的数据帧。在执行此操作时,我会显示一个