Apache spark 读取查询期间的Cassandra故障
我有一个Cassandra表,有大约500列和主键Apache spark 读取查询期间的Cassandra故障,apache-spark,cassandra,Apache Spark,Cassandra,我有一个Cassandra表,有大约500列和主键((userId,version,shredId),rowId),其中shredId用于将数据均匀地分布到不同的分区中。表还有一个默认的TTL,即数据过期2天,因为数据用于实时聚合。压缩策略是TimeWindowCompactionStrategy 工作流程是: 将数据写入输入表(保持一致性) 运行spark聚合(在具有相同userId和version的行上) 将聚合数据写入输出表 但当数据量变大时,我在读查询过程中遇到了Cassandra失败;
((userId,version,shredId),rowId)
,其中shredId
用于将数据均匀地分布到不同的分区中。表还有一个默认的TTL,即数据过期2天,因为数据用于实时聚合。压缩策略是TimeWindowCompactionStrategy
工作流程是:
userId
和version
的行上)Cassandra失败;更具体地说,一旦一个分区中有超过210行,读取查询就会失败
如何调整数据库并更改属性以解决此问题?经过调查和研究,发布的错误是由于为某些空列插入了空值。这会创建大量墓碑,并最终导致查询超时