[英]Cassandra terminates connection in the middle?
我正在使用Datastax的Java Cassandra驱动程序。 我知道一张表中有2000万行。 当我使用
Select * from table
在获取了大约800000行后,该过程停止。
在我的Java代码中
futureResults = session.executeAsync(statement);
ResultSet results = futureResults.getUninterruptibly();
for (Row row : results) {
}
也许我做错了什么?
您在做什么Cassandra有一个相当普遍的反模式。 由于每个数据分区都位于群集的不同部分,因此该查询将创建一个以一个协调器为中心的大规模分散/聚集。 最终事情开始超时,协调器将抛出错误。 快速浏览日志应该可以找到它。
几乎总是,一个选择查询应包括一个局部性分区键。 如果不可能,最好切换到可以有效扫描每个节点的批处理。 Cassandra的Spark连接器非常适合这种访问方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.