对Cassandra的Java查询没有返回正确的值

时间:2017-06-21 19:36:09

标签: java cassandra datastax

我有一个Java应用程序,它从Cassandra数据库中读取数据。 我正在运行大量的试用查询来测试我的应用程序:其中一些是有效的,有些则没有,而如果在DBeaver中运行则相同的无效查​​询完全正确。

为什么我的应用程序无法始终从Cassandra中获取数据?

我不会发布代码,因为很长时间,我只是想知道在处理来自Java的Cassandra时是否有一些特殊的方面需要关注。 谢谢。

2 个答案:

答案 0 :(得分:1)

如果不了解您的数据模型,查询和群集大小,很难说,但这可能表示一致性问题。

驱动程序默认一致性级别为LOCAL_ONE。如果您有不一致(未修复)的数据,您最终可能会查询没有数据的副本。在具有不同查询计划或更高一致性的另一个上下文中,您可能会看到数据。

您可以通过以更高的一致性级别发出查询来测试此问题。如果您发现这将返回数据,您将需要查看修复这些表。

答案 1 :(得分:-1)

你很可能没有充分注意如何用引号将查询包装在查询中。