需要从 cassandra 中删除的行键中添加数据

Posted

技术标签:

【中文标题】需要从 cassandra 中删除的行键中添加数据【英文标题】:Need to add data from deleted rowkey in cassandra 【发布时间】:2014-08-14 08:35:22 【问题描述】:

不幸的是我删除了行键。

例如:从表名中删除 key='rowkey';

删除行键后,所有数据都被删除。

注意:该表为计数器表。

CREATE TABLE tablename (
  KEY text PRIMARY KEY
) WITH
  comment='' AND
  comparator=text AND
  read_repair_chance=0.100000 AND
  gc_grace_seconds=864000 AND
  default_validation=counter AND
  min_compaction_threshold=4 AND
  max_compaction_threshold=32 AND
  replicate_on_write='true' AND
  compaction_strategy_class='SizeTieredCompactionStrategy' AND
  compression_parameters:sstable_compression='SnappyCompressor';

删除行键后,我无法插入相同键的数据。我可以更新其他键的数据。

例如:更新表名 set new = new + 1 where key='2014';

我没有找到 2014 年的任何条目

预期:我需要为已删除的行键添加数据。

【问题讨论】:

【参考方案1】:

计数器移除受到严格限制:来自 Counters Wiki 文档:

如果您删除一行计数器,则增加该行中的任何计数器 (删除之前存在的)将导致未确定的 行为。

您可以在counters wiki page 上找到更多信息。

顺便说一句:即将推出的 2.1(以及未来的 3.0)将对计数器的工作方式进行一次小革命,因此如果您必须使用计数器,您最好使用最新的 cassandra 版本(2.1 现在是 RC5)

【讨论】:

以上是关于需要从 cassandra 中删除的行键中添加数据的主要内容,如果未能解决你的问题,请参考以下文章

cassandra 表中的行键

Cassandra中的行键

Cassandra数据库上数据分析的替代方案

使用 Impala 查询加盐的 Hbase 行键

如何设置开始和结束行键 HBASE

在一个查询中从多个主键中提取条目