cassandra 当存在巨大的逻辑删除时,为什么使用cqlsh查询读取会失败

6yjfywim  于 2022-11-05  发布在  Cassandra
关注(0)|答案(1)|浏览(126)

我有一个带有巨大逻辑删除项的表。因此,当我在该特定表上执行Spark作业(读取)时,它给出了结果,没有任何问题。但我使用cqlsh执行了相同的查询,它给了我错误,因为该表中存在巨大的逻辑删除项。
Cassandra在一致性为1的读取查询期间失败(需要1个复制副本,但没有响应,1个失败
我知道墓碑不应该在那里,我可以运行修复来避免它们,但除此之外,为什么spark成功和cqlsh失败。他们都使用相同的会话和查询。
spark-cassandra连接器是如何工作的?它和cqlsh有什么不同吗?请让我知道。
谢谢你,谢谢。

toe95027

toe950271#

Spark Cassandra连接器与cqlsh有几个不同之处。

  • 它使用Java驱动程序,而不是python驱动程序
  • 它的重试策略更为宽松
  • 它通过将请求分解为多个片段来进行全表扫描

这些项目中的任何一项都可能有助于解释为什么它适用于SCC而不适用于CQLSH。

相关问题