【发布时间】:2015-01-08 19:46:50
【问题描述】:
我正在使用 Cassandra 数据库,想使用cqlsh 来查看以复合键格式存储在其中的数据的一些特定信息。数据模型是这样的:
rowkey(username) column1(id) column2(city:<city>) value
Alice 12 city:Boston 100
Tom 13 city:New York 200
Bill 22 state:CA 111
如您所见,数据使用复合键存储,column2 具有以下模式:city 或 state(String) + another String(可能会有所不同)。然后在cqlsh 中,我该怎么做才能看到value 根据column2 的模式:city+:+cityname?例如,它会在column2 中列出所有带有city: 模式的“值”?
ps:架构
CREATE TABLE info (
key text,
column1 bigint,
column2 text,
value bigint,
PRIMARY KEY (key, column1, column2)
) WITH COMPACT STORAGE AND
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.000000 AND
gc_grace_seconds=864000 AND
read_repair_chance=0.100000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
compaction={'class': 'SizeTieredCompactionStrategy'} AND
compression={'sstable_compression': 'SnappyCompressor'};
【问题讨论】:
-
能否正确添加完整的列架构?
-
为什么不清楚?
rowkey是用户名,具有组合键id和some specific string -
如果粘贴 cqlsh 命令“describe table table_name”的输出会更清楚。我同意 Jaya 的观点……我不得不读了几遍文字墙,但我仍然不确定你的意思。该架构将使其 100% 清晰。
-
@JayaAnanthram 请查看已编辑的问题。我列出了架构。
-
是的,我现在看起来好多了:) 请参阅下面的答案它可能会对您有所帮助。