How do I get the size of a Cassandra table using the Python driver?

559 views Asked by At

To archive this using Cassendra Shell :

nodetool cfstats -- <keyspace>.<tablename>

Python Package - cassendra-driver

Docs - cassendra

2

There are 2 answers

2
Aaron On BEST ANSWER

Actually, if you're running on Cassandra 4.0+, you can use Virtual Tables to achieve this:

SELECT * FROM system_views.disk_usage
WHERE keyspace_name='stackoverflow' AND table_name='baseball_stats';


 keyspace_name | table_name     | mebibytes
---------------+----------------+-----------
 stackoverflow | baseball_stats |         1

(1 rows)

I wrote an article on Virtual Tables early last month, if you'd like more information:

Leveraging Virtual Tables in Apache Cassandra 4.0

1
Erick Ramirez On

The metrics in nodetool tablestats (formerly cfstats) is not exposed to the drivers so you cannot get this information via CQL.

These metrics are only exposed via JMX. Cheers!