读取查询期间Cassandra失败

时间:2018-04-09 16:17:43

标签: apache-spark cassandra

我有一个带有~500列的Cassandra表和主键((userId, version, shredId), rowId),其中shredId用于将数据均匀地分配到不同的分区。由于数据用于实时聚合,因此表还具有2天的默认TTL以使数据到期。压缩策略是TimeWindowCompactionStrategy。

工作流程为:

  1. 将数据写入输入表(具有一致性EACH_QUORUM)
  2. 运行spark聚合(在与userIdversion相同的行上)
  3. 将汇总数据写入输出表。
  4. 但是当数据量变大时,我会获得Cassandra failure during read query;更具体地说,一旦一个分区中有超过210行,读取查询就会失败。

    如何调整数据库并更改属性以解决此问题?

1 个答案:

答案 0 :(得分:0)

经过调查研究,发布的是由于某些空列插入了空值引起的。这会创建大量的逻辑删除,并最终超时查询。