我有一个cassandra数据库,可以根据应用程序的需要添加或删除列。列名以前缀RSSI
开头。我想知道是否可以选择列名称为%RSSI%
的所有列。在MYSQL中,您可以执行select count(*) FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name ='MACTrain' AND column_name LIKE '%RSSI%'
之类的操作。在cassandra有可能吗?如果不是,那么基于特定通配符选择列的解决方案是什么。
答案 0 :(得分:2)
您可以通过查询system
键空间来获取表的列元数据:
select * from system.schema_columns
where keyspace_name = 'yourks' and columnfamily_name = 'yourtable';
对于Cassandra v3.0及更高版本,您可以使用新的system_schema
键空间:
select * from system_schema.columns
where keyspace_name = 'yourks' and table_name = 'yourtable';