从 cassandra 的键空间中检索所有 columnfamily / thrift 和 CQL 的表

Retrieve all the columnfamily / tables of thrift and CQL from the keyspace in cassandra

我使用 hector 来操作 2.1.8 版的 cassandra,并希望从应用程序的某个键空间中检索所有 table。我使用 "KeyspaceDefinition.getCfDefs()" 检索键空间中的列族列表。

但是,我发现getCfDefs()函数只能检索thrift api创建的columnfamily,例如"me.prettyprint.hector.api.Cluster.updateColumnFamily",而不是table创建的CQL,例如cqlsh client .

那么,如何使用 hector 从某个键空间中检索所有 table?

您可以使用系统元数据 tables:

以编程方式检查键空间的所有 table 元数据
select * from system.schema_columnfamilies where keyspace_name='ks';
select * from system.schema_columns where keyspace_name='ks';

您需要自己汇总这些列 table。

或者,如果您未绑定到此客户端,则可以使用 cqlsh "describe" 有问题的键空间,或者使用带有元数据 API 的 DataStax 驱动程序之一(java, python).