我有一个Java应用程序,它从Cassandra数据库中读取数据。 我正在运行大量的试用查询来测试我的应用程序:其中一些是有效的,有些则没有,而如果在DBeaver中运行则相同的无效查询完全正确。
为什么我的应用程序无法始终从Cassandra中获取数据?
我不会发布代码,因为很长时间,我只是想知道在处理来自Java的Cassandra时是否有一些特殊的方面需要关注。 谢谢。
答案 0 :(得分:1)
如果不了解您的数据模型,查询和群集大小,很难说,但这可能表示一致性问题。
驱动程序默认一致性级别为LOCAL_ONE。如果您有不一致(未修复)的数据,您最终可能会查询没有数据的副本。在具有不同查询计划或更高一致性的另一个上下文中,您可能会看到数据。
您可以通过以更高的一致性级别发出查询来测试此问题。如果您发现这将返回数据,您将需要查看修复这些表。
答案 1 :(得分:-1)
你很可能没有充分注意如何用引号将查询包装在查询中。