我正在使用卡桑德拉2.1.5和卡桑德拉爪哇驱动程序2.0.10。当我从卡桑德拉表获取数据时,我面临以下异常。
com . datas tax . driver . core . exceptions . nohostavailableexception:在com . datas tax . driver . core . exceptions . nohostavailableexception . copy(nohostavailableexception . Java:84)上尝试查询的所有主机都失败(尝试:/127 . 0 . 0 . 1:9042(com . datas tax . driver . core . transport exception:[/127 . 0 . 0 . 0 . 1:9042]连接已关闭)
在我的卡桑德拉表中,有50000列和380000行。当我启动这个查询时,我得到了上面的错误。
select * from my key space . product data其中id In (1,...,6000).
我已经使用令牌创建了从Cassandra获取数据的批处理。
试图用一个有50000列的表在380000行上一次测试6000个分区似乎完全是多余的。
多分区选择应该使用异步查询来完成,每个分区使用一个查询。一个表中有50000列看起来像是一个数据建模问题。你的用例是什么?一次获取380000行应该是不必要的(而且会花费很长时间),它看起来像一个分析查询,应该通过Spark来更好地处理。
试图一次获取这么多数据,您很可能会在cassandra节点上获得OOM,这可以解释为什么您会收到“连接已关闭”的消息
我的建议是查看您的模型,并尝试以应有的方式拆分负载(异步查询)并使用正确的分页。如果要一次处理如此多的数据,则必须通过批处理使用 Spark 执行此操作,将结果输出到另一个 cassandra 表中,并通过更小、更快的交互式查询访问该结果表。
我有这个代码: 我得到以下异常: 所有主机尝试查询失败(已尝试:/127.0.0.1:9042(com.datastax.driver.core.TransportException:[/127.0.0.1:9042]无法连接)),堆栈跟踪:com.datastax.driver.core.exceptions.NoHostAvailableException:所有主机尝试查询失败(已尝试:/12
我使用的是spring数据cassandra,需要使用jpa映射一个字段,在cassandra中,该字段的类型为
我正在经历节点崩溃,system.logfile显示一堆'ReadTimeoutException'达到500毫秒。 卡桑德拉.yaml 文件具有 [read_request_timeout_in_ms: 10000] 的设置 你们能分享一下我如何解决这些超时问题吗?提前感谢! 错误[shared pool-Worker-241]2017-02-01 13:18:27,663 Message.ja
我目前在cassandra中有一个名为macrecord的表,类似于以下内容: 在这种情况下,我想不出其他解决方案,只有在macadd值重复的情况下删除整行,然后插入具有更新时间戳的新行。 是否有更好的解决方案在macadd值重复时更新时间戳,或者在我的原始表中只有macadd是主键的范围内查询时间戳值的替代方法。
我用Spring Data Cassandra 2.2.1开发了一个新的应用程序,想在Cassandra 2.1.9服务器上运行它(旧的,我知道)。但是我们得到了错误 Spring数据卡桑德拉手册声称Spring数据2.2.1至少需要卡桑德拉2.1,所以这应该有效,但它没有。我们包含的唯一特定于卡桑德拉的依赖项是 我怎样才能让这个工作?
有人可以帮助我了解如何使用POJO类插入卡桑德拉UDT数据吗? 我创建了一个POJO类来映射Cassandra的表,并为Cassandra UDT创建了另一个类,但是当我插入映射Cassandra表的主POJO类时,它无法识别另一个POJO类(映射Cassandra的UDT)。我还在每个类和每个类对象上编写了注释。 这是我的一个POJO类:- 另一个POJO类:-