我使用的是spring-boot、datastax-java-cassandra-connector\u2.11-2.4.1.jar和java8。
我有一个场景需要从c表读取/加载数据,但是这个表可能有数百万条记录。
我需要从c表中加载这些数据,在java/spring引导中是否有使用datastax java cassandra连接器api我可以逐个分区拉取数据?
我使用的是spring-boot、datastax-java-cassandra-connector\u2.11-2.4.1.jar和java8。
我有一个场景需要从c表读取/加载数据,但是这个表可能有数百万条记录。
我需要从c表中加载这些数据,在java/spring引导中是否有使用datastax java cassandra连接器api我可以逐个分区拉取数据?
1条答案
按热度按时间7y4bm7vi1#
而
select * from table
如果可以的话,更有效的方法可能是使用类似查询的令牌范围读取数据select * from table where token(part_key) > beginRange and token(part_key) <= endRange
. spark cassandra连接器的工作方式是相同的—它获取所有可用令牌范围的列表,然后从每个令牌范围中获取数据,但直接将其发送到持有该令牌范围的节点(与之相反)select * from table
通过协调器节点检索所有数据。在计算令牌边界时需要小心,特别是对于全范围的开始和结束。您可以在我的存储库中找到java代码的示例(粘贴到这里太长了)。