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

577 Views Asked by At

To archive this using Cassendra Shell :

nodetool cfstats -- <keyspace>.<tablename>

Python Package - cassendra-driver

Docs - cassendra

2

There are 2 best solutions below

2
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
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!