【问题标题】:Cassandra Verifying Bulk ImportCassandra 验证批量导入
【发布时间】:2016-02-25 11:48:21
【问题描述】:

我有一个 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 非常接近?

【问题讨论】:

    标签: cassandra cqlsh


    【解决方案1】:

    你很可能不小心更新插入。如果 CSV 中有多行具有相同的主键,就会发生这种情况。

    【讨论】:

    • 叹息,这是正确的。我以为已经尽了我的职责,但显然没有!
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2014-02-03
      • 2016-08-05
      • 2011-07-03
      • 2016-05-01
      • 1970-01-01
      • 2016-12-20
      • 2019-03-25
      • 1970-01-01
      • 2017-10-31
      相关资源
      最近更新 更多