如果我使用Cassandra 3附带的cqlsh
工具,它可以告诉我是否创建了一个表WITH COMPACT STORAGE
。我所要做的只是describe table_name;
,它向我展示了用于创建表格的CQL。
describe
功能是cqlsh
的一项功能,而不是CQL语言的功能。我需要确定一个表是否仅使用CQL来使用紧凑存储。我需要在system_schema
中查询以确定表是否使用紧凑型存储?
答案 0 :(得分:1)
根据python的cassandra驱动程序中deprecated
类的定义,确定紧凑存储的逻辑如下
TableMetadataV3
flags = row.get('flags', set())
if flags:
compact_static = False
table_meta.is_compact_storage = 'dense' in flags or 'super' in flags or 'compound' not in flags
is_dense = 'dense' in flags
else:
compact_static = True
table_meta.is_compact_storage = True
is_dense = False
对象是一个字典,它是查询row
因此,要确定表是否使用紧凑型存储,必须执行以下步骤。
"SELECT * FROM system_schema.tables"
。将键空间和表替换为参数