我正在尝试将数据从 SQL 加载到 No-SQL,即 Cassandra。但不知何故,有几行不匹配。有人可以告诉我如何计算 Cassandra 中特定 column_family 的行键数。
我尝试了 get_count 和 get_multicount,但这些方法需要传递密钥,在我的情况下,我不知道密钥,而是需要 row_keys 的行数。list column_family_name 给了我列表,但仅限于 100 行。有什么办法,我可以超越 100 的限制。
据我所知,没有办法获得列族的行数。您必须改为对整个列族执行范围查询。
如果cf
是你的列族,这样的事情应该可以工作:
num_rows = len(list(cf.get_range()))
但是,get_range 的文档表明,如果行数过多,这可能会导致问题。您可能必须使用start
和分块进行row_count
。
您可以在不读取所有行的情况下计算 Cassandra 行数。
请参阅Spark 中的实现cassandraCount()
,该实现非常有效。