Cassandra验证批量导入

时间:2016-02-24 21:23:14

标签: cassandra cqlsh

我有一个Cassandra集群并运行5个节点。

我使用replication_factor = 3创建了一个键空间,并在其中创建了一个表。

我使用cqlsh将CSV批量加载到我的表格中。

我在加载后收到此消息:

355637 rows imported from 1 file

但是,当我使用cqlsh连接到群集并执行

select count(*) from my_keyspaces.my_table;

我只得到

 count
--------
 122715

我的架构设置方式实际上只有6行(每个设备一个),使用Cassandra的宽行。

但是,cqlsh将这些行公开为行,以使生活更轻松。

我的问题是,为什么count(*)没有返回准确的数字,而且,为什么它确实返回的数字非常接近我预期数字的1/3

2 个答案:

答案 0 :(得分:2)

你很有可能不小心喋喋不休。如果CSV中有多行具有相同的主键,则会发生这种情况。

答案 1 :(得分:0)

除了@brandon回复(在大多数情况下都是正确的),您还可以在查询中设置上限,例如从cf limit 1000000中选择count(*)或使用nodetool cfstats获取更多见解。